圖2 響應類及相關框架元素
每個響應類都和一個事件管理器關聯(通過調用setEventManager方法),事件管理器由活動類充當。一個事件管理器可以服務于多個響應類。響應類的gen方法向其事件管理器注入一個新的事件(通過調用活動類的queueEvent方法)。事件管理器在收到事件之后會調用相應的響應對象(由事件的屬性指出)的takeEvent方法。
用戶響應類有主動(active)、被動(passive)和從屬(subordinate)響應類之分:
*主動用戶響應類利用了多重繼承技術,它集事件管理器和響應類雙得功能于一身;
*被動用戶響應類由框架的缺省事件管理器—OXFDefaultEventManager管理,且所有被動用戶響應類都共享該缺省事件管理器;
*從屬用戶響應類由用戶定義的活動類充當事件管理器。從屬響應類以聚合方式存在于用戶活動類內,或者獨立于活動類,而通過調用setEventManager方法與一個用戶活動關聯。
(3)事件和操作
類可以定義自己的事件和操作(Events and Operations)方法。事件代表一種突發的激勵信號,可以影響對象的行為及狀態。在Rhapsody中,活動類負責事件調度。事件既可以異步(活動類將事件投遞給目標對象之后立即返回,目標對象使用自己的線程完成對事件的響應),也可以是同步的(活動類投遞事件之后必須等待目標對象處理完成才能返回)。操作代表類本身提供的服務和功能。操作調用總是同步的,即操作總是運行在調用者線程之內。Rhapsody的框架定義了兩種事件:
①信號事件。
文章來源于領測軟件測試網 http://www.kjueaiud.com/