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 继承的类来构造其他消息类型。