C++总复习--8--C++程序设计--设计模式
1.设计模式-观察者模式
2.设计模式-工厂模式,抽象工厂模式
3.设计模式-单例模式(考虑线程安全)
1.单例模式***
类只能实例化一个对象
1.屏蔽生成对象的接口
2.类中提供一个接口生成唯一对象
- 返回值不能是类类型 (可以是类类型的指针)
- 静态的
线程不安全
双重锁机制
贪婪加载
2.迭代器模式
Begin() end() next(++实现) curitem(解引用实现)
3.工厂模式
生成对象
- 不用考虑对象的生成过程
- 可以通过标记简化针对名称的记忆
1.简单工厂模式 违背开放-封闭原则(规模小 规格不容易发生变化)
开放原则:旧版本的代码可以被新版本使用,可以在旧版本上做延用,扩展
封闭原则:可以在旧版本上做扩展,但是不能修改旧版本代码
2.厂方法模式 (规模较大 容易发生变化)
3.抽象工厂模式 (产品有多个部件构成,先完成小部件,然后构成产品)
4.观察者模式
1.观察者
观察事件的到来并通知感兴趣的监听者处理事件
2.监听者
处理事件
观察者
- 一张注册表
事件编号 感兴趣的监听者 map multimap
观察者接口
- 注册 register
- 通知 noty
监听者接口
1.处理事件 handle