设计模式的四大家族 + 六大家规

144 阅读2分钟

「这是我参与2022首次更文挑战的第19天,活动详情查看:2022首次更文挑战

设计模式:【 可维护性 + 可读性 + 复用性 + 稳健性 + 安全性 】

设计模式本质:【 面向对象设计原则的实际运用 + 对类的多态性、继承性、封装性、关联关系及组合关系的充分理解 】

四大家族:【 创建型模式 + 机构型模式 + 行为型模式 + J2EE模式 】

六大家规:【 开闭原则 + 里氏代换原则 + 依赖倒转原则 + 接口隔离原则 + 迪米特法则 + 合成复用原则 】

家族一 创建型模式

  • 简介:创建对象+隐藏创建逻辑
  • 成员:【 工厂模式 + 抽象工厂模式 + 单例模式 + 建造者模式 + 原型模式 】

家族二 结构型模式

  • 简介: 类+对象 => 组合(组合接口+定义组合对象)
  • 成员:【 适配器模式 + 桥接模式 + 过滤器模式 + 组合模式 + 装饰器模式 + 外观模式 + 享元模式 + 代理模式 】

家族三 行为型模式

  • 简介:通信(对象间)
  • 成员:【 责任链模式 + 命令模式 + 解释器模式 + 迭代器模式 + 中介者模式 + 备忘录模式 + 观察者模式 + 状态模式 + 空对象模式 + 策略模式 + 模板模式 + 访问者模式 】

家族四 J2EE 模式

  • 简介:表示层
  • 成员:【 MVC 模式 + 业务代表模式 + 组合实体模式 + 数据访问对象模式 + 前端控制器模式 + 拦截过滤器模式 + 服务定位器模式 + 传输对象模式 】

六大家规

  • 开闭原则
    • 可扩展+不可修改 => 热插拔的效果
    • 接口 + 抽象类
    • 扩展性好 + 易维护+易升级
  • 里氏代换原则
    • 抽象化的具体实现 —— 对开闭原则的补充
    • 基类 + 子类
      • 有基类 -> 一定有子类
      • (基类的复用)派生类 = 基类 + 新的行为
  • 依赖倒转原则
    • 依赖抽象
  • 接口隔离原则
    • 低耦合 = 降低接口之间的依赖性
    • 实现相同的功能逻辑,可优先使用多个相互隔离的接口来替代使用单个接口
  • 迪米特法则
    • 别称:最少知道原则
    • 尽可能使系统中的功能模块能够独立工作,降低实体间的相互关联关系
  • 合成复用原则
    • 能采用合成的方式就不用继承方式