第10章 类层次和线程处理C++组件
集合类和容器类最常用的地方是线程间通讯。
为了设计多线程类,我们至少需要6个基本组件:
1、宿主类(host class)
2、线程类(thread class)
3、互斥和事件类(mutex and event class)
4、友元成员函数(friend member function)
5、域类(domain class)
6、强制转换基本元素(casting primitive)
应用框架分解
应用框架总是至少分解为两个主要组件。第一个为框架设计者提供的框架部分。这个组件包含按一般性方式捕获的特定动作序列以及对象间的关系,它表示某问题类别的一种常见解决方案。第二个组件成为ensemble。ensemble具体表现域知识、专家知识、规则以及特定解决方案的策略(The Power of Frameworks, Taligent)。ensemble由框架的用户提供。框架本身提供了应用的形式。
指定动作序列由三类函数类型来实现。一是虚函数,二是纯虚函数,三是常规函数。