キューに置かれている一連のサービス (非 WCF) があります。メッセージが到着すると、典型的なサービスはいくつかの計算を行い、0 個以上の結果メッセージを出力キューに吐き出します。各サービスには、その主な機能に加えて、認証 / 監査 / ロギング / ステータス追跡などのいくつかのハウスキーピング ロジックがあり、正確な手順とシーケンスはサービスによって多少異なります。ここで、パイプラインの概念が登場します。
最終的なデザインに満足できず、シンプルにする方法を探しています。CCR ポートをモデル化する必要がありますか? ASP.NET パイプライン? AOP? 他に何か?
私の現在の設計は次のとおりですIMessageHandler<TMessage>。IoC を使用して 6 つの独自の方法でチェーンされたインターフェイスと約 15 の実装があります。インターフェイスは単一のメソッドHandle(TMessage msg)を定義するため、各実装はメッセージをデイジー チェーンの次のハンドラに渡す前と後の両方で何らかのロジックを実行できます。
これの問題は、各実装が正確に何をするのか、なぜこの特定のサービスのためにこの特定の方法で連鎖されたのかを思い出すのが難しいことです。一方、各側面を独自のクラスに配置すると、懸念事項をより適切に分離できるため、単体テストが容易になります。
アイデア?私が見ることができる良いパイプラインパターンはありますか? 参照として使用できる優れたパイプラインの実装はありますか? それともJFHCIにするべきですか?