web-dev-qa-db-ja.com

アプリケーション層とビジネスロジック層の違いは何ですか?

アプリケーション層とビジネスロジック層の違いは何ですか?ビジネス層はビジネス固有のサービスを提供し、アプリケーション層はビジネスサービスを結合し、エンドユーザーにサービス(Webサービス、UIなど)を提供することを理解しています。私は正しいですか?

56
miceuz

それは正しいように聞こえます。

ビジネス層ドメインモデル境界技術中立の方法で実装します。つまり、特定のUIや、WebライブラリやウィンドウAPIなどのサービスインターフェイス関連の技術に依存しません。 Web、リッチクライアント、Webサービスなど、あらゆるタイプのアプリケーションからビジネスレイヤーを使用できる必要があります。

アプリケーション層は、ビジネス層と境界テクノロジーの間のギャップを埋めます。

64
Mark Seemann

要約する:

  • アプリケーション層は、このアプリケーションに固有の要素で構成されています。そのため、UI、UIのバックエンド処理、およびアプリケーションとビジネスロジックレイヤー間のバインディングが含まれます。完璧な世界では、このレイヤーにはビジネスドメインのロジックは含まれません。

  • ビジネスロジックレイヤー(BLL)には、ビジネスドメインに固有のロジックが含まれています。また、別のBLLを作成する場合、このレイヤーには、このレイヤーだけでなく他のアプリケーションでも使用できるロジックが含まれている必要があります。たとえば、明確に定義されたAPIを公開するWebサービスのセット。これにより、アプリケーションからBLLが切り離され、将​​来、その上に他のアプリケーションを柔軟に構築できます。

20
Justin Ethier

ビジネスレイヤーのクラシックレイヤーには次の機能があります。

-ビジネスルール-セキュリティ-ユーザーアクティビティログ-トランザクション管理...

機能要件+非機能要件=ビジネスコード

ビジネスルールやビジネスロジックなどのDDD機能要件はドメインレイヤーに留まり、セキュリティやユーザーアクティビティロギングなどの非機能要件はアプリケーションレイヤーに留まります

2
mehdi ghadimi

私が理解しているように、ビジネス層はビジネス決定、つまりクライアントのプロトコルを含むロジックを担当しています。

アプリケーション層は、ビジネス上の意思決定とは関係のない生のプロセスです。

2
Javier Parra

インフラストラクチャと考えています。アプリケーションによっては、構成、レポート、UIシェルなどの配管を含めることができます。

0
Big Endian