设计模式总览

原创
08/21 15:48
阅读数 5

[TOC]

1. 设计模式职责

1 单一职责原则

定义:规定一个类只有一个发生变化的原因,如果需求开发中,一个功能不是一次性的,随着业务的发展不断的变化而变化,那么当一个类超过两个以上的职责时候,在需求迭代时候,就会出现难以维护,测试难度大和上线风险高等等问题。

1.2开闭原则

定义:软件中的对象,类,模块,函数对扩展应该是开放的,但对于修改应该是封闭的。意味着应该用抽象定义结构,用具体实现细节。

举例:对于外部调用方来说,只要能体现出面向抽象编程,定义出接口并实现方法,这样的扩展方式可以体现出开闭原则设计方式。

1.3 里式替换原则

定义:继承必须确保超类所拥有的性质在子类中任然成立即子类可以扩展父类的功能,但是不能改变父类原有的功能,当子类继承父类的时候,除了添加新的方法完成新增功能外,尽量不要重写父类的方法。

定义中的含义如下:

  • 子类可以重写父类的抽象方法,但是不要覆盖父类的非抽象方法。
  • 子类可以增加自己特有的方法。
  • 当子类的方法重载父类的方法时候,方法的输入参数要比父类更宽松。
  • 当子类的方法实现父类的方法时,返回值要比父类的方法更严格或者与妇科类的方法相等。

1.4 迪米特法则原则

定义:最少知道原则,一个对象对其他对象来说,知道得越少越好。两个类之间不要有过多的耦合关系,保持最少的关联性。

1.5 接口隔离原则

定义:要求程序把臃肿庞大的接口拆分为更细更具体的接口,让接口只包含客户端感兴趣的方法。

原则:

  • 接口尽量小,但是要有限度,一个接口只服务于一个子模块或者业务逻辑。

  • 为依赖接口的类定制服务,只提供调用者需要的方法,屏蔽不需要的方法。

  • 提高内聚,减少对外交互,让接口用最少的方法完成最多的事情。

1.6 依赖倒置原则

定义:设计代码的时候,高层模块不应该依赖于底层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。

2. 设计模式分类

2.1 创建型模式

  • 工厂方法
  • 抽象工厂方法
  • 建造者模式
  • 原型模式
  • 单例模式

2.2 结构性模式

  • 适配器模式
  • 桥接模式
  • 组合模式
  • 装饰器模式
  • 外观模式
  • 享元模式
  • 代理模式

2.3 行为模式

  • 责任链模式
  • 命令模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 模板方法模式
  • 访问者模式
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部