设计模式汇总()

1 面向对象设计原则

  • 单一职责原则(Single Responsibility Principle,SRP):不能将太多的职责放在一个类中;
  • 开闭原则(Open-Close Principle,OCP):软件实体对扩展是开放的,对修改是关闭的;
  • 里氏替换原则(Liskov Substitution Principle,LSP):一个可以接受基类对象的地方,必然可以接受子类对象;
  • 依赖倒转原则(Dependency Inversion Principle,DIP):代码要依赖于抽象的类,而不要依赖于具体的类;要针对抽象层编程,而不要针对具体类编程;
  • 接口隔离原则(Interface Segregation Principle,ISP):使用多个专门的接口来代替统一的接口;
  • 合成复用原则(Composite Reuse Principle,CRP):在复用功能时,应该尽量多使用组合和聚合关联关系,尽量少用或不用继承关系;
  • 迪米特原则(Law of Demeter,LoD):一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互。

2 设计模式种类

GoF 设计模式有23种,分为创建型、结构型、行为型,简单工厂模式不属于 GoF 设计模式,加上它共24种。

源码见:24种设计模式源码

2.1 创建型设计模式

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

2.2 结构型设计模式

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

2.3 行为型设计模式

  • 职责链模式
  • 命令模式
  • 解释器模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 模板方法模式
  • 访问者模式

声明:本文转自设计模式汇总

————————

1 面向对象设计原则

  • 单一职责原则(Single Responsibility Principle,SRP):不能将太多的职责放在一个类中;
  • 开闭原则(Open-Close Principle,OCP):软件实体对扩展是开放的,对修改是关闭的;
  • 里氏替换原则(Liskov Substitution Principle,LSP):一个可以接受基类对象的地方,必然可以接受子类对象;
  • 依赖倒转原则(Dependency Inversion Principle,DIP):代码要依赖于抽象的类,而不要依赖于具体的类;要针对抽象层编程,而不要针对具体类编程;
  • 接口隔离原则(Interface Segregation Principle,ISP):使用多个专门的接口来代替统一的接口;
  • 合成复用原则(Composite Reuse Principle,CRP):在复用功能时,应该尽量多使用组合和聚合关联关系,尽量少用或不用继承关系;
  • 迪米特原则(Law of Demeter,LoD):一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互。

2 设计模式种类

GoF 设计模式有23种,分为创建型、结构型、行为型,简单工厂模式不属于 GoF 设计模式,加上它共24种。

源码见:24种设计模式源码

2.1 创建型设计模式

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

2.2 结构型设计模式

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

2.3 行为型设计模式

  • 职责链模式
  • 命令模式
  • 解释器模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 模板方法模式
  • 访问者模式

声明:本文转自设计模式汇总