设计模式的23种经典形态源于前辈们的实践总结,然而,支撑这些模式的核心原则却更为基础且重要。本文将详细介绍这七大设计原则,它们不仅在面试中常被提及,还能显著提升我们对设计模式的理解及个人设计思维的培养。
单一职责原则:一个类或接口应专注于单一功能或职责,确保每个类或接口的职责清晰明确。
接口隔离原则:客户端不应被迫依赖于它不使用的接口。这意味着接口的设计应当尽可能细化,避免将多个功能合并到一个接口中,从而减少不必要的依赖。
依赖倒置原则:该原则强调的是高层模块不应该依赖低层模块,两者都应该依赖于抽象;抽象不应该依赖细节,细节应该依赖抽象。简单来说,就是要面向接口编程,而非具体的实现。
里氏替换原则:任何基类可以出现的地方,子类也一定能出现。这要求子类能够完全替代基类,同时建议在可能的情况下使用组合或聚合代替继承,以降低类之间的耦合度。
开闭原则:软件实体(如类、模块、函数等)应该对扩展开放,对修改关闭。这意味着在添加新功能时,应该通过增加新的代码来实现,而不是修改现有的代码,以此保持系统的稳定性和可维护性。
迪米特法则(最少知识原则):一个对象应该尽可能少地与其他对象发生交互。此原则鼓励将复杂的逻辑封装在对象内部,对外只暴露必要的公共方法,减少外部对内部结构的依赖。
合成复用原则:在设计中优先考虑使用组合或聚合关系来替代继承关系。这样不仅可以提高代码的灵活性,还可以避免继承带来的紧耦合问题。