従来の 3 層アーキテクチャは、主にビジネス インターフェイス層、ビジネス ロジック層、データ アクセス層に分かれています
ビジネス インターフェイス層: 主にリソース パスの定義、リクエスト メッセージの受け入れ、応答メッセージの返信、リクエストのエンコーディングなどを含む API の定義;
ビジネス ロジック層: 主にビジネス ロジック処理を実行するこの層には、DTO から VO へのデータ マッピング、コア ビジネス ロジックの作成、さまざまなデータ ウェアハウスの結合、およびビジネス ロジックの実行が含まれます;
# データ アクセス層: 主に実行データ ストレージ。VO から PO へのデータ マッピング、データ インターフェイスの定義、マッピング XML の作成を含みます。
DDD 階層化アーキテクチャは、主にユーザー インターフェイス層、アプリケーション層、ドメイン層、基本層;
ユーザー インターフェイス層: ユーザーへの情報の表示と、ユーザー、プログラム、自動化スクリプト、バッチなどのユーザー指示の解釈を担当します。スクリプトなど;
アプリケーション層: 主に、複数の集約されたサービスとドメイン オブジェクトを調整して、サービスのオーケストレーションと組み合わせを完了するために使用されます。権限検証、トランザクションなど、ローカルまたはリモートのサービスを調整できます。制御、重複防止など、コア ビジネス ロジックをここに配置しないでください。
ドメイン層: 集約ルート、エンティティ、値オブジェクト、ドメイン サービスなどのコア ロジックを実装します。 、ビジネス拡張ポイントと検証ルール、結合された集約サービスとその他の関連機能を含む;
基本レイヤー: いくつかのサードパーティ ツール、キャッシュ、データベース、依存関係反転設計を使用し、他のレイヤーから分離されたファイルなど。
3 層アーキテクチャから DDD アーキテクチャへの進化は、主にロジック層とデータベース アクセス層で発生します
#Entity : 集約ルート、エンティティ、値オブジェクト、ファクトリ モード関連コード、および統合エンティティ関連ロジックを格納し、すべては輻輳モードを使用してこのクラスに配置されます。 : イベント アクティビティに関連するイベント エンティティとロジック コードを保存します;
サービス: さまざまなエンティティの組み合わせに基づくドメイン サービス、ビジネス ロジック;
リポジトリ: 集約クエリと永続化ドメイン オブジェクト コードを格納します。
基本層
Config: 主に、スプリングブート自動構成などの構成関連のコードを格納します。サードパーティ コンポーネントの構成;
サンプル コード
以上がJava 3 層アーキテクチャと DDD 階層アーキテクチャとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。