私はインターフェースを持っています
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と結び付ける方法があると私は信じているので、より多くのハンドラーが追加されたとき、それは「うまくいく」でしょう。コードにどのような変更を加える必要があるか、またインストーラーがどのようになるかを検討するのを手伝ってもらえますか?