私がほぼ完成した最近のプロジェクトでは、Web/サービス層からの相互作用の最上位層として XXXManager クラスを使用するアーキテクチャを使用しました。
たとえば、いくつかの多様なデータ ソースからシステムにデータをインポートする、スケジュールに基づいて実行される Windows サービスがあります。このサービス内では、CPImportScheduleManager、CPImportProcessManager など、いくつかの「マネージャー」クラスが呼び出されます。
現在、これらの Manager クラスは、Web/サービス レイヤーで使用するためにメソッドをチェーンに渡すだけではありません。たとえば、私の UserManager.Register() メソッドは、下位レベルのアセンブリを介してユーザーを永続化するだけでなく、WAP プッシュをユーザーに送信し、使用される携帯電話などを決定します。
このタイプのアーキテクチャーは、OOP を手続き型モデルに適合させようとする一般的な手段であることが示唆されています。私は彼らの要点をここで見ることができますが、私が不思議に思っているのは、このトップ レベルのクラス セットを使用すると、コードを書き直す必要なく、Web/サービス レイヤーが同じ共通メソッドを簡単に呼び出すことができるということです。したがって、ある時点でユーザーを登録する Web サービスを作成したい場合は、すべてのロジックを再度書き直さなくても、 UserManager.Register() メソッドを再度呼び出すことができます。
私は自分自身を説明するのに最適な人物ではない.
乾杯、クリス。