设计模式简述

设计模式(简述)

设计模式的分类

​ 根据目的可以分为创建型、结构性和行为型三类:

  • 创建型模型:创建对象
  • 结构性模型:处理类或对象的组合
  • 行为型模式:用于描述对类或对象怎样交互和怎么分派职责

​ 根据范围可以分为类模式和对象模式:

  • 类模式:处理类和子类之间的关系,这些关系通过继承建立,在编译时就确定了,属于静态
  • 对象模式:处理对象间的关系,这些关系在运行时变化,属于动态
    设计模式简述_第1张图片

设计模式的设计原则

​ 设计模式有七大原则:开闭原则、里氏替换原则、依赖倒转原则、接口隔离原则、迪米特原则、合成复用原则、单一职责原则:

1.开闭原则

​ 对扩展开放,对修改关闭,是设计模式的核心原则,实现开闭原则的关键就是抽象化。

2.里氏替换原则

​ 所有引用基类的地方必须能够透明地使用其子类对象,即子类能够并且必须能够替换基类所出现的地方,子类也能在基类的基础上新增行为。即如果能够使用父类对象的时候一定可以替换并使用其子类对象,反过来不成立。

3.依赖倒转原则

​ 高层模块不应该依赖底层模块,他们都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象,总的来说就是依赖倒转原则要求客户端依赖于抽象耦合。即:

  • 抽象不应该依赖细节,细节依赖抽象
  • 要针对接口编程,不针对实现编程

4.接口隔离原则

​ 客户端不应该依赖那些它不需要的接口,一旦一个接口太大,则需要将它分割成一些更细小的接口,使用接口的客户仅需要与之相关的方法即可。

5.迪米特原则

​ 又叫最少知识原则:

  • 不要和“陌生人”说话
  • 直接与你的“朋友”通信
  • 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位

​ 一个对象应该对其他对象有尽可能少的了解,一个类应该对自己需要耦合或调用的类知道的越少越好。

6.合成复用原则

​ 尽量使用对象组合,而不是继承来达到复用的目的。在一个新的对象中使用一些已有的对象,是之成为新对象的一部分,新对象通过向这些对象的委派达到服用已有功能的目的。简而言之,要尽量使用合成/聚合,尽量不要使用继承。

7.单一职责原则

​ 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。

你可能感兴趣的:(设计模式)