第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由框架的用戶提供。框架本身提供了應用的形式。
指定動作序列由三類函數類型來實現。一是虛函數,二是純虛函數,三是常規函數。