MediatorSharp
1.0.0
中介者設計模式的基本實現,用於促進不同系統之間的解耦,如此處所述。
當應用程式首次啟動時建立 MessageService 類別的實例。然後,在建立系統時,將 MessageService 實例作為依賴項注入。然後系統可以透過提供函數回調和訊息類型來訂閱特定的訊息類型:
_messageService . Subscribe ( ApplicationStarted , MessageType . ApplicationStarted ) ;
若要在系統之間傳送訊息,您只需將 IMessage 傳送至 MessageService:
_messageService . SendMessage ( new EmptyMessage ( MessageType . ApplicationStarted ) ) ;
在訂閱系統的回呼函數中,可以將 IMessage 轉換為系統所需的任何資料類型:
private void ReceiveStringMessage ( IMessage obj )
{
StringMessage msg = ( StringMessage ) obj ;
Debug . Log ( "Receive message: " + msg . String )
}
可以透過在 MessageType 枚舉中定義更多值以及建立從 IMessage 繼承的類別來建構其他訊息類型。