OOP七大原则
开闭原则
:对扩展开放,对修改关闭
- 当需求发生改变的时候,我们尽量不去修改原来的代码,横切进去,不能影响原来代码块的工作
里氏替换原则
:继承必须保证在父类中拥有的性质,在子类中依然存在
- 子类可以扩展父类的功能,但尽量不要改变父类原有的功能(正方形不是长方形,企鹅不是鸟)
依赖倒置原则
:要面向接口编程,不要面向实现编程
- 面向接口编程,降低程序的耦合性,因为类的实现是多变性,而接口是稳定的。
单一职责原则
:控制类的粒度的大小,将对象解耦,提高内聚性。
- 粒度越大,说明方法做的事情越多,要控制粒度的大小,一个方法做一个事情就好了。
接口隔离原则
:要为各个类建立专有的接口。
- 与单一职责原则差不多,都是为了降低代码块的耦合性,都是面向对象思想的体现,封装。
迪米特法则
:只与你的朋友交谈,不和陌生人说话。
- 通过“第三方”转发,降低模块间的耦合性,提高独立性。会产生一些中介类。
合成复用原则
:尽量先使用组合,再考虑继承。
- 当使用继承时,一定要考虑里氏替换原则。