设计模式六大原则概要
2017-07-24 16:55
190 查看
单一职责原则(Single Responsibility Principle)
一个类只负责一个功能领域的职责;换句话说,就一个类而言,应该只有一个引起它变化的原因。
开闭原则(Open-Closed Principle)
软件实体应该对扩展开放,对修改关闭。
里氏代换原则(Liskov Substitution Principle)
所有引用基类(父类)的地方必需能够透明地使用子类对象。
依赖倒置原则(Dependency Inversion Principle)
抽象不依赖于细节,细节依赖于抽象,针对接口编程。
接口隔离原则(Interface Segregation Principle)
使用多个专门的接口,而不是使用功能复杂的单一接口。
合成复用原则(Composite Resuse Principle)
又称为组合/聚合复用原则(Composition/Aggregate Reuse Pinciple),尽量使用对象组合,而不是继承来达到复用的目的。
图中的每一条维度各代表一项原则,我们依据对这项原则的遵守程度在维度上画一个点,则如果对这项原则遵守的合理的话,这个点应该落在红色的同心圆内部;如果遵守的差,点将会在小圆内部;如果过度遵守,点将会落在大圆外部。一个良好的设计体现在图中,应该是六个顶点都在同心圆中的六边形。
在上图中,设计1、设计2属于良好的设计,他们对六项原则的遵守程度都在合理的范围内;设计3、设计4设计虽然有些不足,但也基本可以接受;设计5则严重不足,对各项原则都没有很好的遵守;而设计6则遵守过渡了,设计5和设计6都是迫切需要重构的设计。
一个类只负责一个功能领域的职责;换句话说,就一个类而言,应该只有一个引起它变化的原因。
开闭原则(Open-Closed Principle)
软件实体应该对扩展开放,对修改关闭。
里氏代换原则(Liskov Substitution Principle)
所有引用基类(父类)的地方必需能够透明地使用子类对象。
依赖倒置原则(Dependency Inversion Principle)
抽象不依赖于细节,细节依赖于抽象,针对接口编程。
接口隔离原则(Interface Segregation Principle)
使用多个专门的接口,而不是使用功能复杂的单一接口。
合成复用原则(Composite Resuse Principle)
又称为组合/聚合复用原则(Composition/Aggregate Reuse Pinciple),尽量使用对象组合,而不是继承来达到复用的目的。
图中的每一条维度各代表一项原则,我们依据对这项原则的遵守程度在维度上画一个点,则如果对这项原则遵守的合理的话,这个点应该落在红色的同心圆内部;如果遵守的差,点将会在小圆内部;如果过度遵守,点将会落在大圆外部。一个良好的设计体现在图中,应该是六个顶点都在同心圆中的六边形。
在上图中,设计1、设计2属于良好的设计,他们对六项原则的遵守程度都在合理的范围内;设计3、设计4设计虽然有些不足,但也基本可以接受;设计5则严重不足,对各项原则都没有很好的遵守;而设计6则遵守过渡了,设计5和设计6都是迫切需要重构的设计。
相关文章推荐
- 知识学习——设计模式的六大设计原则
- IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle)
- 设计模式六大原则(3):依赖倒置原则
- 设计模式六大原则(5):迪米特法则
- 设计模式 之 设计的 六大原则(2) 里氏替换原则
- 设计模式的六大原则
- IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)
- 设计模式之六大原则——开闭原则(OCP)
- 设计模式六大原则------简单复习
- 设计模式六大原则
- 设计模式六大原则
- 设计模式六大原则(3):依赖倒置原则
- 转:设计模式六大原则
- 设计模式六大原则
- 设计模式六大原则
- [置顶] 设计模式之六大原则——迪米特法则(LoD,LKP)
- 设计模式之六大设计原则
- 设计模式六大原则--里氏代换原则
- 设计模式六大原则【设计模式学习-开篇】
- 设计模式六大原则(2):里氏替换原则(Liskov Substitution Principle)