设计模式

常见一些设计模式如下:

列表

创建型模式

创建型模式(Creational patterns)是为了解决创建对象时候遇到的问题。因为基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式有两个主导思想:一是将系统使用的具体类封装起来,二是隐藏这些具体类的实例创建和结合方式。

最常见的五种创建型模式如下:

  • 工厂方法模式(Factory method pattern)
  • 抽象工厂模式(Abstract factory pattern)
  • 单例模式(Singleton pattern)
  • 建造者模式(Builder pattern)
  • 原型模式(Prototype pattern)

结构型模式

结构型模式(Structural pattern)是通过定义一个简单的方法来实现和了解实体间关系,从而简化设计。

  • 适配器模式(Adapter pattern)
  • 桥接模式(Bridge pattern)
  • 合成模式(Composite pattern)
  • 装饰器模式(Decorator pattern)
  • 门面模式(Facade pattern)
  • 代理模式(Proxy pattern)
  • 享元模式(Flyweight Pattern)

行为型模式

行为型模式(Behavioral pattern)用来识别对象之间的常用交流模式并加以实现,使得交流变得更加灵活。

  • 策略模式(Strategy pattern)
  • 模板方法模式(Template method pattern)
  • 观察者模式(Observer pattern)
  • 迭代器模式(Iterator pattern)
  • 责任链模式(Chain of responsibility pattern)
  • 命令模式(Command pattern)
  • 备忘录模式(Memento pattern)
  • 状态模式(State pattern)
  • 访问者模式(Visitor pattern)
  • 中介者模式(Mediator pattern)
  • 解释器模式(Interpreter pattern)

设计原则

一共有六大设计原则

单一职责原则

一个类只负责一项职责。

优点:

  • 可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;
  • 提高类的可读性,提高系统的可维护性;
  • 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

里氏替换原则

所有引用父类的地方必须能透明的使用其子类,只要有父类出现的地方,子类就能出现。

依赖倒置原则

抽象不依赖细节,细节应依赖抽象。

接口隔离原则

类间的依赖应建立在最小的接口上。

迪米特法则

一个对象应对其他对象有最少的了解,只能与直接的朋友通信。

开闭原则

软件实体应该对拓展开发,对修改关闭。

参考网址