《C++设计模式》视频_李建忠
大约 4 分钟
《C++设计模式》视频_李建忠
目录
设计模式分类与使用建议
GOF-23模式分类
从目的来看(《设计模式:可复用面向对象》中的分类)
分类 中译 设计模式 创建型模式
(Creational)
5抽象工厂
构建器(生成器)
工厂方法
原型
单件(单例)Abstract Factory
Builder
Factory Method
Prototype
Singleton结构型模式
(Structural)
7适配器
桥接模式
组成
装饰
外观(门面)
享元
代理Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy行为型模式
(Behavioral)
11职责链
命令
解释器(解析器)
迭代器
中介者
备忘录
观察者
状态
策略
模板方法
访问者Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
从范围来看
- 类模式:处理类与子类的静态关系(偏重继承方案)
- 对象模式:处理对象间的动态关系(偏重组合方案)
从封装变化角度对模式分类(《设计模式_李建忠视频》中的分类)(其中划掉部分表示比较少用或过时)
分类 中译 设计模式 目的分类 组件协作 模板方法
策略模式
观察者模式Template Method
Strategy
Observer/Event行为型 单一职责 装饰模式
桥接模式Decorator
Bridge结构型 对象创建 工厂模式
抽象工厂
原型模式构建器模式Factory Method
Abstract Factory
Prototype
Builder创建型 对象性能 单件模式
享元模式Singleton
Flyweight创建型
结构型接口隔离 门面模式
代理模式
适配器中介者模式Facade
Proxy
Adapter
Mediator结构型
行为型状态变化 状态模式 备忘录模式State
Memento行为型 数据结构 组合模式 迭代器模式职责链模式Composite
Iterator
Chain of Responsibility结构型
行为型行为变化 命令模式访问器模式Command
Visitor行为型 领域问题 解析器模式Interpreter 行为型
重构 Refactoring to Patterns(学习建议)
- 重构获得模式 Refactoring to Patterns(这里的 “重构” 特指 “重构代码”)
- 面向对象设计是 “好的面向对象设计”,所谓 “好的面向对象设计” 是指那些可以满足 “应对变化”,提高复用性的设计
- 现代软件设计的特征是 “需求的频繁变化”。设计模式的要点是 “寻找变化点”,然后在变化点应用设计模式,从而来更好地应对需求的变化。“什么时候、什么地点应用设计模式” 比 “理解设计模式结构本身” 更为重要
- 设计模式的应用不宜先入为主,一上来就使用设计模式是对设计模式的最大误用。没有一步到位的设计模式。敏捷软件开发实践提倡的 “Refactoring to Patterns” 是目前普遍公认最好的使用设计模式的方法
- 重构关键技法
- 静态 --> 动态
- 早绑定 --> 晚绑定
- 继承 --> 组合
- 编译时依赖 --> 运行时依赖
- 紧耦合 --> 松耦合
- 推荐书籍
- 《重构——改善既有代码的设计》
- 《重构与模式》
菜鸟教程中多出来的10种设计模式
- 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)
- 空对象模式(Null Object Pattern)
- MVC模式(Model-View-Controller(模型-视图-控制器))(话说中介者模式不是属于MVVM模式吗?)
- 业务代表模式(Business Delegate Pattern)
- 组合实体模式(Composite Entity Pattern)
- 数据访问对象模式(Data Access Object Pattern)
- 前端控制器模式(Front Controller Pattern)
- 拦截过滤器模式(Intercepting Filter Pattern)
- 服务定位器模式(Service Locator Pattern)
- 传输对象模式(Transfer Object Pattern)