1. 开闭原则——可扩不可改
软件实体如类、模块和函数应该对扩展开放,对修改关闭
在软件的生命周期内,因升级和维护对原有代码进行修改,可能会引入错误。
所以当软件需要变化时,通过扩展软件实体的行为来实现变化,而不是修改原有代码。
2. 里氏代换原则——子可替父
只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才算真正的被复用。
换言之:子类可以扩展父类的功能,但不能改变父类原有的功能,才能保证一定替换。
3. 单一职责原则
一个类仅有一个引起它变化的原因。
4. 依赖倒置原则
高层模块(使用者)不应该依赖低层模块(被使用者),二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。
通俗的说:依赖于接口而不是实现。
5. 接口隔离原则
客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
6. 迪米特原则
一个对象应该对其他对象保持最少的了解。类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。
7. 合成复用原则(Composite Reuse Principle)
合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承。
设计原则
原文:https://www.cnblogs.com/sunpan/p/14208185.html