我有一个界面
public interface IMessageHandler
{
void ProcessMessage(CanonicalModelEntityMessage message);
}
我有一些具有这种模式的具体处理程序
public class ThingMessageHandler : IMessageHandler
{
public void ProcessMessage(Message queueMessage){
//HandleMessage
}
}
我还有一个“复合”对象,它将
public class MessageHandler : IMessageHandler
{
private List<IMessageHandler> _handlers;
public MessageHandler()
{
_handlers =new List<IMessageHandler>();
}
public void Handle(CanonicalModelEntityMessage message)
{
foreach (var messageHandler in _handlers)
{
messageHandler.Handle(message);
}
}
public void Add(IMessageHandler messageHandler)
{
_handlers.Add(messageHandler);
}
}
每个处理程序都可以看到每条消息。
我相信有一种方法可以将它与 Castle 连接起来,所以当添加更多处理程序时,它会“正常工作”。您能帮我弄清楚我需要对我的代码进行哪些更改,以及安装程序的外观吗?