アプリケーション層とビジネスロジック層の違いは何ですか?ビジネス層はビジネス固有のサービスを提供し、アプリケーション層はビジネスサービスを結合し、エンドユーザーにサービス(Webサービス、UIなど)を提供することを理解しています。私は正しいですか?
それは正しいように聞こえます。
ビジネス層はドメインモデルを境界技術中立の方法で実装します。つまり、特定のUIや、WebライブラリやウィンドウAPIなどのサービスインターフェイス関連の技術に依存しません。 Web、リッチクライアント、Webサービスなど、あらゆるタイプのアプリケーションからビジネスレイヤーを使用できる必要があります。
アプリケーション層は、ビジネス層と境界テクノロジーの間のギャップを埋めます。
要約する:
アプリケーション層は、このアプリケーションに固有の要素で構成されています。そのため、UI、UIのバックエンド処理、およびアプリケーションとビジネスロジックレイヤー間のバインディングが含まれます。完璧な世界では、このレイヤーにはビジネスドメインのロジックは含まれません。
ビジネスロジックレイヤー(BLL)には、ビジネスドメインに固有のロジックが含まれています。また、別のBLLを作成する場合、このレイヤーには、このレイヤーだけでなく他のアプリケーションでも使用できるロジックが含まれている必要があります。たとえば、明確に定義されたAPIを公開するWebサービスのセット。これにより、アプリケーションからBLLが切り離され、将来、その上に他のアプリケーションを柔軟に構築できます。
ビジネスレイヤーのクラシックレイヤーには次の機能があります。
-ビジネスルール-セキュリティ-ユーザーアクティビティログ-トランザクション管理...
機能要件+非機能要件=ビジネスコード
ビジネスルールやビジネスロジックなどのDDD機能要件はドメインレイヤーに留まり、セキュリティやユーザーアクティビティロギングなどの非機能要件はアプリケーションレイヤーに留まります
私が理解しているように、ビジネス層はビジネス決定、つまりクライアントのプロトコルを含むロジックを担当しています。
アプリケーション層は、ビジネス上の意思決定とは関係のない生のプロセスです。
インフラストラクチャと考えています。アプリケーションによっては、構成、レポート、UIシェルなどの配管を含めることができます。