设计模式分为三类:
- 创建型
- 结构型
- 行为型
创建型
- 单例模式: 有且只有一个
- 原型模式: 小学生抄作业, 你写啥我抄啥, 不费脑子造出一模一样的作业
- 工厂模式: 不同规格的工厂, 用不同规格的零件里装配出不同规格的产品
- 建造者模式: Director有顺序的指导Builder按照顺序构建出一艘宇宙飞船
结构型
- 适配器模式: 将充电线的不同接口转换成相同的接口, 就可以用一个同充电器充电了
- 桥接模式: 3种形状, 3种颜色, 桥接在一起就可以画出9种不同颜色图案的画了
- 合成模式: 文件和文件夹可以创造出树形结构的文件目录
- 装饰器模式: 科技以换壳为本, 给旧手机套上个新壳, 附带一些功能, 就是全新的产品了
- 动态代理模式: 通过jdk的InvocationHandler及Proxy.newProxyInstance, 我能代理一切
- 外观模式(Facade): 遵从一致的设计语言, 外观一样
- 享元模式: 棋盘上的棋子, 本质上都是一个棋子
- 静态代理模式: 我就只代理一种对象
行为型
- 责任链模式: 批假条, 组长找班长, 班长找老师, 老师找校长, 直到找到能处理该假条的人
- 命令者模式: 命令物件将动作及参数封装起来
- 迭代器模式: 数组的迭代器, 本质上就是游标
- 中介者模式: 在中介登记信息, 有事找中介
- 备忘录模式: 可回滚
- 观察者模式: 发布/订阅事件