设计模式的目的
编写软件过程中,程序员面临来自 耦合性,内聚性以及可维护,可扩展,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的:
- 代码重用性
- 可读性
- 可扩展
- 高内聚,低耦合
设计模式应用位置
面向对象(oo)=> 功能模块[设计模式+算法(数据结构)] => 框架[多种设计模式] => 架构[服务器技术]
设计模式七大原则
- 单一职责
- 接口隔离
- 依赖倒转
- 里氏替换
- 开闭原则
- 迪米特法
- 合成复用
经典的23种设计模式,可以分为三大类:
- 创建型
- 常用:
- 单例模式
- 工厂模式
- 建造者模式
- 不常用:
- 原型模式
- 常用:
- 结构型
- 常用:
- 代理模式
- 桥接模式
- 装饰者模式
- 适配器模式
- 不常用:
- 门面模式
- 组合模式
- 享元模式
- 常用:
- 行为型
- 常用:
- 观察者模式
- 模板模式
- 策略模式
- 职责链模式
- 迭代器模式
- 状态模式
- 不常用:
- 访问者模式
- 备忘录模式
- 命令模式
- 解释器模式
- 中介模式
- 常用: