2011-12-24 112 views
5

從下面的棱鏡文檔,它說有四種方式跨模塊通信 -與棱鏡之間的模塊通信?

  • 解決指揮
  • 地區範圍內
  • 共享服務
  • 事件彙總

    1. 我可以只需選擇其中一種方法並將其應用於所有跨模塊通信?還是應該根據情況使用不同的方法?
    2. 特別是,在一個應用程序編寫我現在有一個模塊中的按鈕,當用戶點擊它時,我想在另一個模塊中啓動一個線程。我將使用哪種通信方法來處理這種情況?

回答

7

答1:是的,你可以使用一個單一的方法全面結束。大多數情況下,這樣做會更容易。

Ans 2:我建議您使用Event Aggregation來做到這一點。這樣,按鈕單擊和線程執行之間的耦合就非常鬆散。這樣,監聽模塊只需知道一個單獨的事件,無論它來自何處。

由於,它是一個單通知和不是一堆相互關聯通知/通信的,最好是骨料的事件,而不是創建一個共享服務

+0

讓我們假設我有兩個模塊,即採購和庫存。那麼我怎樣才能處理兩個模塊的交易?如果在購買或庫存中有任何錯誤,那麼事務應該回滾。 – 2017-08-22 09:23:01