七大设计原则
原则
-
单一职责原则
一个类只负责一个功能领域中的相应职责。
-
依赖倒置原则
-
高层模块不应该依赖于低层模块,二者都应该依赖于抽象
-
抽象不应该依赖于细节,细节应当依赖于抽象。
-
换言之,要面向接口(抽象类)编程,而不是面向实现编程。
-
-
开闭原则
一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。
-
接口隔离原则
使用多个专门的接口,而不使用单一的总接口。
-
里氏替换原则
所有基类出现的地方必定能被子类替换,且功能不会发生影响。
-
合成复用原则
尽量使用对象组合/聚合,而不是继承来达到复用的目的。
-
迪米特原则
也叫最小知识原则,一个软件实体应当尽可能少地与其他实体发生相互作用。类与类之间的耦合度应尽量的低,这样如果类发生变化,影响才会最小。只与直接的朋友通信,不跟陌生人说话。
开闭原则是目标,里氏代换原则是基础,依赖倒置原则是手段。
核心思想
-
隔离变化
-
针对接口编程,而不是针对实现编程