导航菜单

常用设计模式

设计模式概述

设计模式是软件开发中常见问题的可重用解决方案,它们是在特定场景下解决特定问题的经验总结。设计模式可以帮助我们写出更易维护、更易理解的代码。

设计模式的分类

创建型模式

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

结构型模式

  • 适配器模式(Adapter)
  • 桥接模式(Bridge)
  • 组合模式(Composite)
  • 装饰器模式(Decorator)
  • 外观模式(Facade)
  • 享元模式(Flyweight)
  • 代理模式(Proxy)

行为型模式

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

设计模式的原则

  • 开闭原则(OCP):软件实体应该对扩展开放,对修改关闭。
  • 单一职责原则(SRP):一个类应该只有一个引起它变化的原因。
  • 里氏替换原则(LSP):子类必须能够替换其父类。
  • 接口隔离原则(ISP):使用多个专门的接口比使用单个总接口要好。
  • 依赖倒置原则(DIP):高层模块不应该依赖低层模块,两者都应该依赖抽象。

设计模式的应用场景

何时使用设计模式

  • 需要解决特定问题时
  • 需要提高代码复用性时
  • 需要提高代码可维护性时
  • 需要提高代码可扩展性时
  • 需要提高代码可测试性时

何时不使用设计模式

  • 过度设计时
  • 简单问题复杂化时
  • 团队不熟悉该模式时
  • 维护成本过高时
  • 性能要求极高时