降低耦合性,在不修改源码的前提下方便扩展
1. 单一职责原则
一个对象一个原则
2. 开闭原则
对扩展开放,对修改封闭
3. 里氏代换原则
子类可以替换父类,程序将不会产生任何错误和异常
4. 依赖倒转原则
面向抽象编程(接口/抽象类)
5. 接口隔离原则
每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干
6. 合成复用原则
首选使用组合/聚合来实现复用,其次才考虑继承
组合/聚合可以使系统更加灵活,类与类之间的耦合度降低,一个类的变化对其他类造成的影响相对较少
7. 迪米特法则
尽量创建松耦合的类
尽量降低成员变量和成员函数的访问权限
只要有可能,一个类型应当设计成不变类
对其他对象的引用应当降到最低