2011-09-12 1 views
0

私は、各モジュールが強力なインターフェースを持つ他のモジュールを介してのみ通信するモジュラーアプリケーションを作成しました。最近私は、モジュールのそれぞれがアクセスする下に共通のオブジェクトのセットがあるため、モジュールを完全に分離できなかったことを発見しました。モジュラーアプリケーション用のデータの扱い

このレイヤーを分離する最も良い方法は何ですか?データオブジェクトは、新しいレコードのために画面に表示されることを表します。

+0

インターフェイス定義内に存在するこれらの共有オブジェクトオブジェクト、または2つの異なるパス/モジュールを介してアクセスされるデータに関することを確認していますか? –

答えて

1

私はあなたと同じボートにいるように見えます。各エンド(クライアント/サーバー)に1つのアセンブリを持つことに非常に「固定」よりもORM(たとえばEF)と何らかの種類のビジネスオブジェクトフレームワーク(RIA Services、DevForce)を持っている場合

私はそれが価値があるより多くの問題を引き起こすと思います。あなたは、異なるモジュールからエンティティに参加する際に問題を抱えます。異なるデータモジュールのエンティティを繰り返すことになります。すでにORMレイヤを分割している場合、クライアントで同じように保つことができます。

私は1つのデータプロジェクト(Prismのモジュールではない)を作成し、すべてのモジュールから参照します。私の場合、メインプロジェクトから参照し、 "CopyLocal = true"と設定するだけで、MEFはこれらのエンティティについて知り、他のモジュールから参照して "CopyLocal = false"を設定します。

1

通常、すべての共有クラスを含むアプリケーション(myproject。Infrastructure)のドメインアセンブリを作成します。このアセンブリはすべてのプロジェクトで参照されます。このアプローチでは、あなたのモジュールはお互いを直接参照しません。 (プリズムのストックトレーラー参照の実装も参照してください)

関連する問題