Skip to content

Java 设计模式简述

  设计模式本身没有法则,但是设计模式所遵循的原则和规范可以被称为法则。

  以下是常见的设计模式法则:

  1. 单一职责原则(Single Responsibility Principle,SRP):一个类应该只有一个引起它变化的原因。
  2. 开闭原则(Open-Closed Principle,OCP):软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
  3. 里氏替换原则(Liskov Substitution Principle,LSP):任何基类可以出现的地方,子类一定可以出现。
  4. 依赖倒置原则(Dependency Inversion Principle,DIP):高层模块不应该依赖底层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。
  5. 合成复用原则(Composite Reuse Principle, CRP):尽量使用对象组合,而不是继承来达到复用的目的。
  6. 接口隔离原则(Interface Segregation Principle,ISP):客户端不应该依赖它不需要的接口。
  7. 迪米特法则(Law of Demeter,LoD):一个对象应该对其他对象保持最少的了解。

以下是常用的设计模式

创建型模式

  创建型模式主要关注对象的创建过程,包括如何创建对象、如何管理对象的生命周期、如何避免重复创建对象等。

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

结构型模式

  结构型模式主要关注对象的组织方式,包括如何将对象组合成更大的结构、如何简化对象之间的交互、如何动态地修改对象的结构等。

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

行为型模式

  行为型模式主要关注对象之间的交互和协作方式,包括如何定义对象的行为、如何让对象之间的交互更加灵活和可扩展、如何处理对象之间的依赖关系等。

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