【设计模式】简介
面向对象编程 OOP
基础
- 类
- 对象
- 方法
主要概念
- 封装
- 继承
- 多态
- 抽象
- 组合
设计原则
开放/封闭原则
- 核心
- 对拓展开放
- 对修改关闭
- 优点
- 有助于以前的代码保持向后兼容性
控制反转原则
- 核心
- 高层级的模块不应该依赖于低层级的模块,都应该依赖于抽象。
- 细节应该依赖于抽象,而不是抽象依赖于细节。
- 优点
- 在依赖模块直接有一个明确的抽象层,方便处理依赖关系
接口隔离原则
- 核心
- 不应该依赖不需要的接口
- 优点
- 强制编写瘦身型接口
- 防止向接口中随意添加方法
单一职责原则
- 核心
- 类的职责单一,引起类变化的原因单一
- 优点
- 功能发生改变时,只需更改特定的类
替换原则
- 核心
- 派生类必须能完全取代基类
- 优点
- 派生类可以替换基类,无需修改任何代码
设计模式分类
设计模式
就是解决特定问题的解决方案。
从本质上说,设计模式就是从别人的成功而非自己的失败中学习。
GoF(Gang of Four)中的三大设计模式:
- 创建型模式
- 结构型模式
- 行为型模式
创建型模式
- 性质
- 运行机制基于对象的创建方式
- 将对象创建的细节隔离开来
- 代码与所创建的对象的类型无关
- 典型
- 单例模式
结构型模式
- 性质
- 通过组合获得更强大的对象和类的结构
- 重点是简化结构并识别类和对象之间的关系
- 关注类的继承和组合
- 典型
- 适配器模式
行为型模式
- 性质
- 关注对象之间的交互和对象的响应性
- 对象直接能够交互,同时仍然保持松散耦合
- 典型
- 观察者模式
设计模式的应用场景
设计模式是
已有问题
的解决方案在
分析
和设计
阶段非常有用