张芷铭的个人博客

设计模式是经过验证的通用解决方案,用于解决常见软件设计问题,提高代码可读性、可维护性和可扩展性。

设计模式分类

创建型模式

专注于对象创建,将创建过程与系统分离。

模式说明
单例模式确保类只有一个实例
工厂模式子类决定实例化的类
抽象工厂模式创建相关对象系列
生成器模式逐步构建复杂对象
原型模式复制现有实例创建新对象

结构型模式

关注对象组合,形成更大结构。

模式说明
适配器模式转换接口以兼容客户端
桥接模式分离抽象与实现
组合模式树状结构表示部分-整体
装饰器模式动态添加功能
外观模式简化子系统接口
享元模式共享细粒度对象
代理模式控制对象访问

行为型模式

涉及对象间通信和职责分配。

模式说明
职责链模式沿链传递请求
命令模式封装请求为对象
迭代器模式顺序访问集合元素
中介者模式封装对象间交互
备忘录模式保存和恢复对象状态
观察者模式一对多依赖通知
状态模式状态改变时改变行为
策略模式封装可互换算法
模板方法模式父类定义算法骨架
访问者模式不改变结构增加操作

SOLID 原则

原则说明
单一职责(SRP)类只有一个变化原因
开闭原则(OCP)对扩展开放,对修改关闭
里氏替换(LSP)子类可替换父类
接口隔离(ISP)为不同客户端定义不同接口
依赖倒置(DIP)依赖抽象而非具体实现

反模式

  • 大泥球:无结构的混乱代码
  • 神对象:承担过多职责的类
  • 单例滥用:不当使用单例导致全局状态

设计模式价值

  • 提供标准术语,便于团队沟通
  • 重用经过验证的解决方案
  • 提高代码可维护性和扩展性

Comments