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

三大类别

创建型模式

模式说明
单例模式确保唯一实例
工厂模式创建对象接口
抽象工厂创建相关对象系列
生成器分离构建与表示
原型复制现有实例

结构型模式

模式说明
适配器接口转换
桥接分离抽象与实现
组合树状结构
装饰器动态添加功能
外观简化接口
享元共享细粒度对象
代理控制访问

行为型模式

模式说明
职责链请求传递链
命令封装请求
迭代器顺序访问
中介者封装交互
备忘录保存状态
观察者一对多通知
状态状态改变行为
策略算法封装互换
模板方法算法骨架
访问者增加新操作

SOLID 原则

原则说明
S - 单一职责一个类只有一个变化原因
O - 开闭对扩展开放,对修改关闭
L - 里氏替换子类可替换父类
I - 接口隔离不同客户端不同接口
D - 依赖倒置依赖抽象不依赖具体

反模式

  • 大泥球
  • 神对象
  • 单例滥用