2009-06-16 5 views
1

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

答えて

1

唯一の方法は、物理的にあなたの層を分離するために、あなたの階層の1つまたは複数のサービス層(または類似したもの)を作ることです参照プロパティにfalseをローカルにコピーします。

別々の層が互いにコンパイルされているので、アプリケーション全体が適切に機能するためにアセンブリがそこにある必要があります。すべてのアセンブリがなくてもアプリケーションの動作をどのように構想していますか?

1

セットはこれを停止する

+0

アプリケーションを展開する必要があると、これは機能しません。 –

+2

真実ですが、彼はそれをやめる方法を尋ねていました。 – epitka

1

依存関係として知られているのでコピーできます。中間層は、DataAccessと中間層のUIに依存します。 UIからのデータアクセスを参照するのではなく、追跡する必要があります。

0

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

  1. UI
  2. プレゼンター
  3. ビジネスロジック
  4. DATAACCESS
  5. エンティティ

しかし、私は私の見解を変更していますこの組織。私は多くのプロジェクトを行っており、そのうちのいくつかはメンテナンスと改善を必要としています。私はこの組織があまりにもモノリシックであると考えるようになります。 Ted Faison、Tomas Erl、Robert C. Martin、Andy Auntのようないくつかの著者は、この階層的アプローチはまったく素朴であると言います。

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

関連する問題