第10章 類層次和線程處理C++組件
集合類和容器類最常用的地方是線程間通訊。
為了設(shè)計多線程類,我們至少需要6個基本組件:
1、宿主類(host class)
2、線程類(thread class)
3、互斥和事件類(mutex and event class)
4、友元成員函數(shù)(friend member function)
5、域類(domain class)
6、強(qiáng)制轉(zhuǎn)換基本元素(casting primitive)
應(yīng)用框架分解
應(yīng)用框架總是至少分解為兩個主要組件。第一個為框架設(shè)計者提供的框架部分。這個組件包含按一般性方式捕獲的特定動作序列以及對象間的關(guān)系,它表示某問題類別的一種常見解決方案。第二個組件成為ensemble。ensemble具體表現(xiàn)域知識、專家知識、規(guī)則以及特定解決方案的策略(The Power of Frameworks, Taligent)。ensemble由框架的用戶提供。框架本身提供了應(yīng)用的形式。
指定動作序列由三類函數(shù)類型來實(shí)現(xiàn)。一是虛函數(shù),二是純虛函數(shù),三是常規(guī)函數(shù)。