ホームページ >バックエンド開発 >C#.Net チュートリアル >.NET 論理階層化アーキテクチャの分析
1. 基礎知識の準備:
1. 層の原則:
(1) 各層は上位層からの呼び出しにインターフェースを使用します。
(2) 上位層は下位層のみを呼び出すことができます。
(3) 依存関係は、緩やかな相互作用と厳密な相互作用の 2 つのタイプに分類されます。
2. ビジネスロジック分類:
(1)アプリケーションロジック。
(2)ドメインロジック。
3. 採用層:
(1) プレゼンテーション層(ユーザーインターフェイス層):ドメインに依存しません。
(2)サービス層(アプリケーション層):アプリケーションロジック。
(3)ビジネスロジック層(ドメイン層):ドメインロジック。
(4) 共有レイヤー:共通コードを提供します。
(5)実装層:インターフェースの実装を提供します。
4. 合意:
(1) ドメイン層はデフォルトでドメインモデルを採用する
(2) データアクセス層はデフォルトでドメインモデルを参照する必要がある
3 つの階層構造 基本的な層は、プレゼンテーション層、ビジネス ロジック層、データ アクセス層です。ビジネスロジック層をビジネスロジックの分類に従ってサービス層とドメイン層に分解すると、3層はプレゼンテーション層、サービス層、ドメイン層、データアクセス層の4層に拡張されます。データ アクセス層は通常、層間に双方向の依存関係を作成するドメイン モデルを理解する必要があります。通常、次の 2 つの解決策があります:
1. ドメイン モデルを共有層に配置します:
評価。 : PetShop このモデルには多くの欠点があります。ビジネス ロジック層はその名にふさわしいものではなく、ドメイン モデルは実際にはデータ モデルであり、層間の依存関係を維持し、より多くの依存関係を導入します。明らかなデータ駆動型 のアイデアはそうなります。ドメインを中心として考えないでください。
2. ビジネスロジック層でデータアクセスインターフェースを定義する:
1.独自のDDD階層化:
の形式的な依存関係のみ)。 namespacelevel ) )、ただし、.NET マルチプロジェクト ソリューションでは、ウェアハウジングの実装は、インターフェイスの分離を通じてデータ アクセス層に似たものにのみ分離できます。
2. DDD階層化の改善:
3. 最新の DDD 階層化:
4. アーキテクチャのトレンド:
(1) ビジネスロジックを核として、ビジネスロジックにもっと注目する。
(2) ビジネスロジック層の特定の依存関係を 1 つのレベルに分割し、一元管理します。
(3) ソリューション間でのコードの再利用よりも、ソリューション内の依存関係を減らすことに注意を払います。
④共有層と実装層の分離がますます反映される。たとえば、タマネギのアーキテクチャ。
以上が.NET 論理階層化アーキテクチャの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。