2010-11-26 23 views
0

私たちは、マルチテナントWebアプリケーションを設定するためのデータにマップする複数のNHibernateエンティティを持っています。これらのエンティティは、ドメインプロジェクトに残りのNHibernateのエンティティとともに存在します。サイト構成データリポジトリはどこに配置する必要がありますか?

事があり、実体の残りの全てはビジネス関連、これらのエンティティは構成関連されています。 Webでそれらを持つことは意味がありますか?

私はこの質問に記載されている問題に直面しています:How to supply RequestContext data to the constructor of a domain object?、私はドメインオブジェクトのコンストラクタで提供されたリクエストコンテキストからのデータが必要です。問題は、ドメインプロジェクトからWebプロジェクトを参照したくないということです。私がWebプロジェクトから直接設定データを取得していた場合、これは問題ではありません。

edit:「ドメインに登録するのは理にかなっていますか?」 ".. Webに修正されましたか?"

答えて

2

個人的には、自分のプロジェクトでは、私のリポジトリやモデルなどを別のアセンブリ(ブーストネスや設定などに基づくものではない)に素早く分解します。

したがって、リポジトリがRequestContextからの情報にアクセスする必要がある状況では、この構成データ用に別個のリポジトリを設定し、ビジネスリポジトリ/オブジェクトとは別のアセンブリに設定します。

私のドメインオブジェクト(および私たちの保健プロジェクトでは数十もあります)でも、私たちはすばやく主要な縫い目を見つけ出します。すなわち、形状データを扱うコンポーネントは、ドメイン全体の重みであるため、設定ファイルで使用したいマッピングオブジェクトを明示的に設定し、ドメインオブジェクトを論理関数で区切ります。要するに、構成エンティティを別のプロジェクト/アセンブリに分割することを考えるのは驚くことではありません(一般的に、アセンブリにはジェネリックリポジトリインターフェイス、コンクリートリポジトリ、NHibernateマッピング、および関連モデルが含まれています)。

+0

申し訳ありませんが、私は間違って-1'dを補正します – DaveDev

関連する問題