因此,您需要聲明您的服務組件將支持什么接口。不錯,但是當您需要組件實現調用另外的服務該怎么做呢?那么,我們需要做兩件事。首先,其他服務組件需要聲明其自身接口,同時您自己的組件需要聲明將調用什么接口。這樣,當您將這些黑盒連接起來時,系統將能確保某種服務所需內容就是您正在連接的服務所提供的內容,F在,我們將介紹一些技術細節來使其更加清晰。
一個組件具有一個或多個引用。在您編寫服務組件的實現時,切勿直接調用另外的服務組件,這樣做會在您的代碼中形成對其他組件的依賴關系。您的實現應該調用引用。引用 具有名稱,表示其他服務所最終具有的那些接口。最后,在您將黑盒連接在一起時,也會將引用連接到另外的黑盒上。很快,您的實現不僅知道使用哪些引用,而且不會依賴于任何特定的組件。在您組裝模塊時,您可完全靈活地組裝可重用的部件,前提是其引用與目標組件的接口相匹配。
例如,圖 4 顯示了來自業務流程實現內部對 Travel Agency Partner 引用的調用,圖 5 顯示了 SimpleProcess 組件中引用的定義和連線。因此,在對 Travel Agency Partner 進行調用時,將使用連線另一端的服務。
在組裝編輯器中,您可右鍵單擊某個組件,并選擇 Add - Reference 以添加新的引用。這將打開對話框并允許您為引用選擇適當的接口。