2

次のように、4層のN層Winformsアプリケーションがあります。

プレゼンテーション層

アプリケーション層

ドメイン層

インフラ層

私のアプリケーション層には、製品のすべてのリポジトリ関連アクションに使用される製品サービス クラスがあります。

Product Services クラスのインターフェース ファイルは、アプリケーション層またはドメイン層に属しますか? 私のリポジトリのインターフェイス ファイルは、インフラストラクチャ レイヤーに実装されているにもかかわらず、ドメイン レイヤーで定義されているためです。

前もって感謝します。

4

2 に答える 2

0

DDD では、依存関係の反転 (SOLID の D) を使用することが通常推奨されるため、依存関係のツリーは次のようになります。

                      Domain Layer
                            |
                           / \ 
                          /   \
        Presentation Layer     Infrastructure Layer

したがって、プレゼンテーションとインフラストラクチャの「レイヤー」はドメインに依存し、その逆ではありません (これの一般的なバージョンは、Hexagonal Architecture または Ports and Adaptersとしても知られています) 。

アプリケーション層は、ユースケースがどのように機能するかを定義するため、実際にドメインの一部です。私はアプリケーションでアプリケーション層を使用した (または見た) ことはありませんが、私が行ったことは、アプリケーション サービスを同じアーティファクト内の別のパッケージに配置することです (ここでの用語は、私が出身であるため、少し異なる場合があります)。 Java の背景)。

于 2016-02-29T10:43:44.953 に答える