文章目录
  1. 1. 一、分类
  2. 2. 二、设计模式的六大原则
  3. 3. 三、23种设计模式:

一、分类


创建类:

  1. Factory Method(工厂方法)
  2. Abstract Factory(抽象工厂)
  3. Builder(建造者)
  4. Prototype(原型)
  5. Singleton(单例)

结构型:

  1. Adapter Class/Object(适配器)
  2. Bridge(桥接)
  3. Composite(组合)
  4. Decorator(装饰)
  5. Facade(外观)
  6. Flyweight(享元)
  7. Proxy(代理)

行为型:

  1. Interpreter(解释器)
  2. Template Method(模板方法)
  3. Chain of Responsibility(责任链)
  4. Command(命令)
  5. Iterator(迭代器)
  6. Mediator(中介者)
  7. Memento(备忘录)
  8. Observer(观察者)
  9. State(状态)
  10. Strategy(策略)
  11. Visitor(访问者)

二、设计模式的六大原则


  1. 开闭原则(Open Close Principle)

    开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。

  2. 里氏代换原则(Liskov Substitution Principle)

    里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
    里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

  3. 依赖倒转原则(Dependence Inversion Principle)

    这个是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。

  4. 接口隔离原则(Interface Segregation Principle)

    这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。降低依赖,降低耦合。

  5. 迪米特法则(最少知道原则)(Demeter Principle)

    一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

  6. 合成复用原则(Composite Reuse Principle)

    原则是尽量使用合成/聚合的方式,而不是使用继承。

三、23种设计模式:


  1. 工厂方法模式(Factory Method)
  2. 抽象工厂模式(Abstract Factory)
  3. 例模式(Singleton)
  4. 建造者模式(Builder)
  5. 原型模式(Prototype)
    。。。未完待续
文章目录
  1. 1. 一、分类
  2. 2. 二、设计模式的六大原则
  3. 3. 三、23种设计模式: