質問

3層の.NET 2.0アプリがあります。プレゼンテーション層は中間層を参照します。中間層はデータベース層を参照します。何らかの理由で、コンパイルすると、データレイヤーのDLLがプレゼンテーションレイヤーのビンに表示されます。これを止めるにはどうすればよいですか

役に立ちましたか?

解決

これを停止する唯一の方法は、1つ以上の層をサービス層(または同様のもの)にして、層を物理的に分離することです。

個別の層が相互にコンパイルされているため、アプリケーション全体が適切に機能するためにはアセンブリが必要です。すべてのアセンブリなしでアプリケーションが機能することをどのように想像しますか?

他のヒント

参照プロパティで[ローカルにコピー]をfalseに設定

依存関係として知られているため、コピーしても問題ありません。中間層は、DataAccessと中間層のUIに依存します。 UIからのデータアクセスを参照しないように追跡する必要があります。

通常、次のように物理層アプリケーションを実行します。

  1. UI
  2. プレゼンター
  3. BusinessLogic
  4. DataAccess
  5. エンティティ

しかし、私はこの組織に対する見方を変えています。私は多くのプロジェクトを行っており、それらのいくつかはメンテナンスと改善を要求しています。この組織はモノリシックすぎると思い始めます。 Ted Faison、Tomas Erl、Robert C. Martin、Andy Auntなどの一部の著者は、この階層的なアプローチは一種の素朴だと言っています。

とにかく...ロジックを別々のプロジェクトに配置し、それらを個別のアセンブリとしてビルドします。階層参照を作成すると、必要なものが得られます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top