3

アーキテクチャの観点から、それが正しいアプローチであるかどうかを知る必要があります。

私は MVC プロジェクトに取り組んでいます。データ層用の別のアセンブリと、モデル用の別のアセンブリがあります。これらのアセンブリは両方とも MVC プロジェクトで参照されます。

モデル アセンブリでデータベースからデータ注釈文字列を取得する必要があるシナリオが明らかになりました。モデル アセンブリでデータ レイヤーを参照し、データベースから文字列をフェッチしても問題ないでしょうか、それともより良い方法があるかどうかです。

提案してください

4

1 に答える 1

1

設計上の問題でいつものように、答えは「場合による」です:)

モデルとデータ エンティティとしてまったく同じエンティティが使用される 1 つのプロジェクトがあるため、基本的に同じデータ注釈が UI (ASP.NET MVC) とデータ レイヤー (EF 4.3) で使用されます。できます。利点は、システム全体で一貫していることです (Accountオブジェクトはどこでもまったく同じことを意味します)。欠点は、データベース指向 (ナビゲーション プロパティなど) であるか UI 指向 (クラスFullNameのプロパティなど) であるかにかかわらず、追加のモデル ロジックがAccount同じ場所に混ざります。

UIレイヤーのモデルがデータレイヤーから完全に分離されている別のプロジェクトがあり、管理レイヤーを介した通信があります。できます。ここでの利点は、各レイヤーが非常に明確であり、その責任が非常に明確に定義されていることです。ただし、欠点は、多くの管理コードが配管コードであり、自動生成できるほど単純ではないことです。また、エンティティにテキスト フィールドを追加するなどの変更は、さらにいくつかの場所を変更する必要があります。些細なことではありませんが、いくつかの「アカウント」クラス ( 、 など) があるという事実によって、開発者間のコミュニケーションが多少妨げられてAccountViewModelいますAccountEntityAccountManager

つまり、私のポイントは、現在のアーキテクチャと最も一致していると思われることは何でも行うということです。

于 2012-12-21T14:24:42.903 に答える