设计模式的目的

编写软件过程中,程序员面临来自 耦合性,内聚性以及可维护,可扩展,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的:

  • 代码重用性
  • 可读性
  • 可扩展
  • 高内聚,低耦合

设计模式应用位置

面向对象(oo)=> 功能模块[设计模式+算法(数据结构)] => 框架[多种设计模式] => 架构[服务器技术]

设计模式七大原则

  • 单一职责
  • 接口隔离
  • 依赖倒转
  • 里氏替换
  • 开闭原则
  • 迪米特法
  • 合成复用

经典的23种设计模式,可以分为三大类:

  • 创建型
    • 常用:
      • 单例模式
      • 工厂模式
      • 建造者模式
    • 不常用:
      • 原型模式
  • 结构型
    • 常用:
      • 代理模式
      • 桥接模式
      • 装饰者模式
      • 适配器模式
    • 不常用:
      • 门面模式
      • 组合模式
      • 享元模式
  • 行为型
    • 常用:
      • 观察者模式
      • 模板模式
      • 策略模式
      • 职责链模式
      • 迭代器模式
      • 状态模式
    • 不常用:
      • 访问者模式
      • 备忘录模式
      • 命令模式
      • 解释器模式
      • 中介模式