ソリューション/プロジェクトのどこに、データ アクセス レイヤーのモデルを配置する必要がありますか。たとえば、データベース内の Users テーブルを使用する必要があるログイン モジュールがあり、User.cs モデルがあるとします。そのファイルはどこに行きますか。他のモジュールが情報を得るためにこの User.cs にアクセスできる必要がある場合、それをモジュールに入れることはできません。しかし、これがどのように疎結合のままでいられるのか、私にはわかりません。
1 に答える
1
疎結合の場合、通常、これらのオブジェクトのインターフェイスを別のアセンブリに格納して、他のすべてのプロジェクトが参照できるようにします。私の会社では、これを「コントラクト」アセンブリと呼んでおり、通常はインターフェイスまたは単純な型のみが含まれています。
モデルをどこに配置するかについては、インターフェイスを別の DLLに保持してすべてのユーザーが使用できるようにすれば、モデルを好きな場所に配置できます。通常、私は WCF コントラクトまたは ORM (Linq2Sql など) 型のいずれかをモデルと見なし、通常そのようなものを保存する場所にそれらを保存します。私が考える「モデル」は、もう少し流動的だと思います...どこでもいい感じです。
私は、ビューとビューモデルが「ビュー」と「ビューモデル」で終わる名前空間にあることにもっと厳格です
お役に立てれば。
于 2009-09-10T19:45:13.187 に答える