中間層/バックエンドサービスのタマネギアーキテクチャ
-
13-12-2019 - |
質問
現在
これは私の訴訟です:
私たちは(WCFで)多くのバックエンドサービスを持っていますが、それぞれが絶縁されたビジネスデータ(マーケティング、アカウント、オファー、CMS ...)を公開しています。私たちの多くのMVC Webサイト「単なる」ページをレンダリングするためにこれらのサービスを消費します。すべてのビジネスロジックはサービス内にあり、Webサイトはプレゼンテーションロジックに限定されています。 WebサイトにDBアクセスはありません。しかしながら、いくつかの業務データは、プレゼンテーションのための複合エンティティ(コンテンツページをオファーにリンクするなど)にマージすることができます。このロジックをサービス層の下に置くと思います。
編集: バックエンド/中間層サービス結果/アクションをマッピングするためのドメインモデルを作成する必要がありますか?ここでのビジネスロジックは、さまざまなソースからデータをマージするためのものですか?
ありがとう、
解決
すべてのビジネスロジックがWCFサービスにある場合は、ドメインモデルを持つコアプロジェクトのポイントを見るのに苦労しています(何ができますか?)。複数の操作を組み合わせるために、これらのサービスの上にビジネスロジックの層を追加していないと仮定していますか?そうでない場合は、このシナリオではタマネギアーキテクチャが適切ではないと思います。
他のヒント
WCFが他のアプリケーションのドメインサービスに有効であると言うでしょう。実際には、複数のアプリケーション間で玉ねぎを分割するだけです。