質問

サービス層の目的には以下のようなものが含まれると考えて良いでしょうか?

  • ドメインモデルの間引き(すなわち、キャッシュやインスタンス化などの特定の関数の移動)
  • ドメインモデルからの依存関係の削減
  • APIの最小化
役に立ちましたか?

解決

たとえば、ドメイン駆動設計の面では、ドメインサービス層は、あなたのドメインオブジェクトのコンテキストで定義することができない操作に使用されます。あなたがオブジェクトのCreditCardを持っている場合たとえば、あなたのサービス層に適した操作は、新しいクレジットカードを発行することでしょう。

大きなアプリケーションで、

は、ドメインオブジェクトは、これは時々アンチパターンとして参照されている(データのみコンテナ全体のビジネスロジックドメインサービス層であるとして使用されているパターン貧血ドメインモデルを、使用されているが、非常に有用である可能性があります)別の抽象化レイヤを追加することで大きなソリューションでます。

差分溶液アーキテクチャおよびパターンにおいて、

、サービス層は、しかし、差の目的を有していてもよい。

他のヒント

あなたのアプリケーションのすべてのビジネス・ロジックをコーディングします。

は伝統的に(デザインドリブンドメインを使用しない場合)、サービス層、あるいは「ビジネス層」それはとも呼ばれるように、です。コードは、特定の融資が与えられるべきか否かを判断することどこに行くので、アプリケーションの例で銀行融資を配っを扱っているため、サービス層があります。 もちろん、サービス層は、彼女の信頼性上の決定を下すことができるようにローンの申込者に関するいくつかの情報を必要とします。この情報を取得するには、ビジネス層は、「データ」またはデータベースに情報を抽出し、保存を扱う「リポジトリ」層を呼び出します。

サービス層は、持続性のような事項またはその他のインフラの問題に対処しません。

あなたのデザインがドメイン駆動の場合は、anthares'答えは本当です。

は名前が示すように、サービスレイヤは、直接、他のドメインオブジェクトの責任ではないサービスを提供しています。

はサービス層にも責任のデカップリングするのに役立ちます。サービス層は、データベース/永続化層およびクライアント/ UI / Webの層の間の中間部分を形成する。

適切にサービス層を設計することが任意のクライアントから使用できるようにすること、それのWebクライアントまたはWebサービス(SOA)またはモバイルデバイスます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top