【菜鸟学习设计模式】——六个原则

前言

在前一篇设计模式的三个模式中说明了设计模式的几大重点内容,除了三个模式以外,贯穿其中的六个原则,可以在模式里面一一体现。回顾一下六个原则都是哪六个?

1、单一职责原则
2、开放关闭原则
3、依赖倒转原则
4、里氏转换原则
5、合成聚合复用
6、迪米特原则

6原则共同目标 实现可维护、可扩展、可复用、灵活性好

六个原则

单一职责原则 功能单一;就一个类而言,应满足仅有一个引起它变化的原因

例如:在创建型模式中的单一职责非常欣赏单例模式。
单例模式的特点:防止客户实例化多个对象。它让类自身负责保存它的唯一的实例,这个类可以保证没有其他实力可以被创建,并且还提供了一个访问该实例的方法。可以严格控制客户怎样访问以及何时访问。

刚刚上一篇文章提到过简单工厂,因为不符合开放关闭原则,在海选的时候就被淘汰了,没有划分到设计模式的三大组中;那么开放关闭原则是什么?

开放-关闭原则
What 对扩展开放,对更改封闭
怎么实现 创建抽象,程序改动增加新代码即可,不用更改现有代码
依赖倒转
What 高、底层模块不互相依赖,两个都依赖抽象;抽象不依赖细节(反之)
特点 针对接口编程,不要对实现编程;强内聚,松耦合

例如:在创建型模式中建造者,是如何进行松耦合的呢?
建造者:将复杂对象的构建和表示分离,可以用同样的构建过程出创建不同的产品给客户。

里氏转换原则
What 子类型必须能够替换掉他们的父类型
特点 使得继承父类成为可能,

例如:在结构型模式里,组合是怎么表示对象的部分和整体的层级结构的?
组合是希望用户忽略组合对象与单个对象的不同,用户可以统一使用子和结构中的对象。她实现用户可以一致的使用组合结构和点个对象。任何用到基本对象的地方都可以使用组合对象。

合成聚合复用原则
What 子类型必须能够替换掉他们的父类型
特点 使得继承父类成为可能,
迪米特原则
What 一个类调用另一个类的方法,通过第三者转发调用
特点 降低成员的访问全权限,强调松耦合

猜你喜欢

转载自blog.csdn.net/xml1996/article/details/81299324