ここで、非常に興味深いデモ CQRS コードを見てみましょう。コマンドとハンドラーは別々のインターフェイスに分割されています。
public interface CommandHandler<in T>
{
void Handle(T command);
}
public interface EventHandler<in T>
{
void Handle(T @event);
}
コマンドとイベントを自動配線しています。membus には、CommandHandler または EventHandler のみを配線できるという制限があるようですが、いずれにしても、次のように考えています。
両方のインターフェイスが Handle メソッドを持っているとすると、Handler
代わりに単一の共通コマンド/イベント インターフェイスを使用できるのに、このようにコマンドとイベントを分割するという考えは何ですか?