データ層を参照するプレゼンテーション層
-
05-07-2019 - |
質問
3層の.NET 2.0アプリがあります。プレゼンテーション層は中間層を参照します。中間層はデータベース層を参照します。何らかの理由で、コンパイルすると、データレイヤーのDLLがプレゼンテーションレイヤーのビンに表示されます。これを止めるにはどうすればよいですか
解決
これを停止する唯一の方法は、1つ以上の層をサービス層(または同様のもの)にして、層を物理的に分離することです。
個別の層が相互にコンパイルされているため、アプリケーション全体が適切に機能するためにはアセンブリが必要です。すべてのアセンブリなしでアプリケーションが機能することをどのように想像しますか?
他のヒント
参照プロパティで[ローカルにコピー]をfalseに設定
依存関係として知られているため、コピーしても問題ありません。中間層は、DataAccessと中間層のUIに依存します。 UIからのデータアクセスを参照しないように追跡する必要があります。
通常、次のように物理層アプリケーションを実行します。
- UI
- プレゼンター
- BusinessLogic
- DataAccess
- エンティティ
しかし、私はこの組織に対する見方を変えています。私は多くのプロジェクトを行っており、それらのいくつかはメンテナンスと改善を要求しています。この組織はモノリシックすぎると思い始めます。 Ted Faison、Tomas Erl、Robert C. Martin、Andy Auntなどの一部の著者は、この階層的なアプローチは一種の素朴だと言っています。
とにかく...ロジックを別々のプロジェクトに配置し、それらを個別のアセンブリとしてビルドします。階層参照を作成すると、必要なものが得られます。
所属していません StackOverflow