软件的可维护性和可复用性
1、单一职责原则
一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。
承担的职责越多,被复用的可能性越小;高内聚、低耦合
2、开闭原则
软件实体应当对扩展开放,对修改关闭。
不修改原有代码的情况下扩展;对系统进行抽象化设计
3、里氏代换原则
所有引用基类的地方必须能透明地使用其子类的对象
使用基类对象的地方都能使用子类对象
4、依赖倒转原则
高层模块不应该依赖底层模块,他们都应该依赖抽象。抽象不应该依赖于细节,细节依赖于抽象。
要针对接口编程,不要针对实现编程
5、接口隔离原则
客户端不应该依赖于那些它不需要的接口。
6、合成复用原则
优先使用对象组合,而不是继承来达到复用的目的。
7、迪米特法制
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。
降低耦合,是类与类之间保持松散的耦合关系;引入合理的“第三者”