MediatorSharp
1.0.0
ここで説明するように、異なるシステム間の分離を促進するために使用される Mediator 設計パターンの基本的な実装。
アプリケーションの最初の起動時に、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 から継承するクラスを作成することによって、追加のメッセージ タイプを構築できます。