每日总结
面向对象设计原则
1、开闭原则
开闭原则的定义:软件实体应当对扩展开放,对修改关闭。
如何实现开闭原则:抽象化是开闭原则的关键,提供相对稳定的抽象层和灵活的具体层。
2、里氏替换原则
所有引用基类的地方必须能透明地使用其子类的对象
里氏代替原则的实现方法:
子类可以扩展父类的功能,但不能改变父类原有的功能。
3、依赖倒转(置)原则定义
高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象
我们在实际编程中只要遵循以下四点,就能在项目中满足依赖倒置原则:
⑴ 每个类尽量提供接口或抽象类,或者两者都具备。⑵ 变量的声明类型尽量是接口或者是抽象类。⑶ 任何类都不应该从具体类派生。⑷ 使用继承时尽量遵循里氏替换原则。
4、单一职责原则
单一职责原则是最简单的面向对象设计原则,用于控制类的粒度大小
一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
5、接口隔离原则
客户端不应该依赖那些它不需要的接口
接口隔离原则的实现方法:⑴ 接口尽量小,但是要有限度。⑵ 只提供调用者需要的方法,屏蔽不需要的方法。⑶ 了解环境,拒绝盲从。⑷ 提高内聚,减少对外交互
6、迪米特法则
迪米特法则又称为最少知识原则(Least Knowledge Principle, LKP)
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位
7、合成复用原则
合成复用原则又称为组合/聚合复用原则
优先使用对象组合,而不是继承来达到复用的目的。