设计模式-入门

​ 设计模式是对软件设计过程中普遍存在(反复出现)的各种问题,所提出的解决方案

优点:

设计模式可以让程序在以下方面做的更好

  • 代码重用性
  • 代码可读性
  • 可扩展性
  • 可靠性
  • 使程序具有高内聚,低耦合和特性

七大原则

要是设计具备以上有点,需要具备七大原则

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

单一职责原则

一个类应该只负责一个职责

  • 降低类的复杂度,一个类只负责一项职责
  • 提高类的可读性,可维护性
  • 降低变更引起的风险

接口隔离原则

一个类与另外一个类的依赖应该建立在最小的接口

依赖倒转原则

  • 高层模块不应该依赖底层模块
  • 抽象不应该依赖细节,细节应该依赖抽象
  • 中心思想是面向接口编程
  • 抽象是指接口和抽象类,细节指实现类
  • 接口和抽象的目的是定制好规范
  • 实现方式
    • 通过接口作为参数实现依赖
    • 通过构造器参数
    • 通过setter方法

里氏替换原则

  • 在使用继承时,子类尽量不要重写父类的方法
  • 继承实际上增加了类的耦合性,在适当的情况下可以通过聚合,组合,依赖来解决问题

开闭原则

  • 类,方法,或者实体,应该对提供方扩展开放,对使用方修改关闭,用抽象构建框架,用实现扩展细节
  • 在软件需要变化时,尽量通过扩展来实现,而不是修改原有代码

迪米特法则

  • 最少知道原则,一个类自己依赖的类知道的越少越好
  • 最好只与成员变量,方法参数,返回值对应的类交互

合成复用原则

  • 尽量使用合成/聚合的方式,而不是使用继承

设计原则核心思想

  • 找出代码中可能变化的地方,独立出去,不要与不变的代码混在一起
  • 面向接口编程,而不是针对实现编程
  • 努力实现交互对象之前的松耦合