设计模式学习笔记

137 阅读1分钟
  1. 单一职责原则 SRP (粒度不可度量, 因项目而异, 因环境而异)
    优点:
    • 类的复杂度降低,实现什么职责都有清晰明确的定义
    • 可读性提高, 复杂度降低
    • 可维护性提高
    • 变更引起的风险降低 建议: 接口一定要做到单一职责, 类的设计尽量做到只有一个原因引起变化
  2. 里氏替换原则
    继承的优点:
    • 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性
    • 提高代码的重用性
    • 子类可以形似父类, 但又异于父类
    • 提高代码的扩展性, 实现父类的方法就可以为所欲为了。好多开源框架的扩展接口都是通过继承父类完成的
    • 提高产品或者项目的开放性
    • 继承氏侵入式的,只有有继承,就必须拥有父类所有的属性和方法
    • 增强了耦合性。当父类的常量、变量和方法被修改时,需要考虑子类的修改 定义:只要父类能出现的地方子类就能出现
      四层含义
    • 子类必须完全实现父类的方法
    • 子类可以有自己的个性(如果子类不能完整地实现父类的方法,或者父类的某些方法再子类中已经发生畸变,则建议断开父子继承关系,采用依赖、聚集、组合等关系替代继承)
    • 覆盖或者实现父类的方法时输入参数可以被放大
    • 覆写或者实现父类的方法时输出结果可以被缩小
  3. 依赖倒置原则
  4. 接口隔离原则
  5. 迪米特法则
  6. 开闭原则