常用的面向对象原则包括七个,互相依赖、互相补充。
1、单一职责原则
一个对象应该只包含单一职责,并且该职责被完整地封装在一个类中
(实现:高内聚、低耦合)
2、开闭原则
一个软件实体应对扩展开放,对修改关闭
<面向对象设计的目标,抽象化是开闭原则的关键>
3、里氏代换原则
所有引用基类(父类)的地方必须能透明地使用其子类的对象;即,在软件中如果能使用基类对象,那么一定能使用其子类对象
<在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象>
4、依赖倒转原则
要针对接口编程,不要针对实现编程;代码要依赖于抽象的类,而不依赖于具体的类
<面向对象设计的重要手段,以抽象方式耦合是依赖倒转原则的关键>
5、接口隔离原则
使用多个专门的接口,而不使用单一的总接口
6、合成复用原则
尽量使用对象组合,而不是通过继承来达到复用的目的
7、迪米特法则
一个软件实体应当尽可能少的与其他实体发生相互作用