设计模式-入门
设计模式-入门
cmyang 设计模式是对软件设计过程中普遍存在(反复出现)的各种问题,所提出的解决方案
优点:
设计模式可以让程序在以下方面做的更好
- 代码重用性
- 代码可读性
- 可扩展性
- 可靠性
- 使程序具有高内聚,低耦合和特性
七大原则
要是设计具备以上有点,需要具备七大原则
- 单一职责原则
- 接口隔离原则
- 依赖倒转原则
- 里氏替换原则
- 开闭原则
- 迪米特法则
- 合成复用原则
单一职责原则
一个类应该只负责一个职责
- 降低类的复杂度,一个类只负责一项职责
- 提高类的可读性,可维护性
- 降低变更引起的风险
接口隔离原则
一个类与另外一个类的依赖应该建立在最小的接口
依赖倒转原则
- 高层模块不应该依赖底层模块
- 抽象不应该依赖细节,细节应该依赖抽象
- 中心思想是面向接口编程
- 抽象是指接口和抽象类,细节指实现类
- 接口和抽象的目的是定制好规范
- 实现方式
- 通过接口作为参数实现依赖
- 通过构造器参数
- 通过setter方法
里氏替换原则
- 在使用继承时,子类尽量不要重写父类的方法
- 继承实际上增加了类的耦合性,在适当的情况下可以通过聚合,组合,依赖来解决问题
开闭原则
- 类,方法,或者实体,应该对提供方扩展开放,对使用方修改关闭,用抽象构建框架,用实现扩展细节
- 在软件需要变化时,尽量通过扩展来实现,而不是修改原有代码
迪米特法则
- 最少知道原则,一个类自己依赖的类知道的越少越好
- 最好只与成员变量,方法参数,返回值对应的类交互
合成复用原则
- 尽量使用合成/聚合的方式,而不是使用继承
设计原则核心思想
- 找出代码中可能变化的地方,独立出去,不要与不变的代码混在一起
- 面向接口编程,而不是针对实现编程
- 努力实现交互对象之前的松耦合