0

私はインターフェースを持っています

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

4

1 に答える 1