已掌握模式
简单工厂
- 统计根据参数来创建本地存储或是远程存储。
- 解码库的解码器工厂,混音工厂根据情况创建server和client类。
- 解码的protocol根据URL创建具体的协议类。
代理模式
- 各种proxy,主要用于远程访问和资源的协调。
命令模式—发送者的行为
- proxy通过命令来和server通信。
- 消息队列。
外观模式
- 各种private
单例模式
- GetInstance
观察者模式
- 各种listener,用于通知。
- std::function可简化观察者模式的接口
职责链模式
- 各种filter
- 鼠标事件的过滤和处理
享元模式
- 线程池
- DCPool
- 改进后的资源管理类
状态模式
- 歌曲的stage
- 感觉页面切换其实也是状态模式。
适配器模式
- 常用于包装第三方库,可称为adapter或wrapper。
备忘录模式
- 页面栈和URL
组合模式
- 控件和容器控件
迭代器模式
- STL的iterator,更多是用,写的话想多线程安全不容易。
中介者模式—关系
- 窗体管理
- 消息循环
模板方法模式
- 基类实现控制流,子类完善。感觉很像之前用的不好的走马灯的view部分。
建造者模式
- 窗体初始化过程
工厂方法模式
- wnd creator就是变种的工厂方法模式。
未使用模式
装饰模式
抽象工厂模式
原型模式—clone
桥接模式
未理解模式
策略模式Todo
因为不是很理解何为策略