设计模式学习笔记(一)-六大原则与三大类型

喜夏-厌秋 提交于 2019-11-28 22:57:36

1.1 六大原则 (总原则-开闭原则:对扩展开放,对修改封闭。)

  1. 单一职责原则
    • 不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,否则就应该把类拆分。
  2. 里氏替换原则(Liskov Substitution Principle)
    • 对“开-闭”原则的补充
    • 是继承复用的基石:任何基类可以出现的地方,子类一定可以出现。
  3. 依赖倒转原则(Dependence Inversion Principle)
    • 面向接口编程,依赖于抽象而不依赖于具体
  4. 接口隔离原则(Interface Segregation Principle)
    • 每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分
  5. 迪米特法则(最少知道原则)(Demeter Principle)
    • 一个类对自己依赖的类知道的越少越好
    • 最少知道原则的另一个表达方式是:只与直接的朋友通信。
      类之间只要有耦合关系,就叫朋友关系。耦合分为依赖、关联、聚合、组合等。
      我们称出现为成员变量、方法参数、方法返回值中的类为直接朋友。
      局部变量、临时变量则不是直接的朋友。我们要求陌生的类不要作为局部变量出现在类中。
  6. 合成复用原则(Composite Reuse Principle)
    • 尽量首先使用合成/聚合的方式,而不是使用继承。

1.2 三大类型

  1. 创建者模式(Creational Pattern)
    • 对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离
  2. 结构型模式(Structural Pattern)
    • 描述如何将类或者对象结合在一起形成更大的结构;
    • 可分为类结构型模式和对象结构型模式
  3. 行为型模式(Behavioral Pattern)
    • 不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用,是对在不同的对象之间划分责任和算法的抽象化
    • 分为类行为型模式和对象行为型模式
    • 根据“合成复用原则”,系统中要尽量使用关联关系来取代继承关系
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!