0

データベースストレージに MVC3 と mongoDB を使用する新しいプロジェクトを開始しています。誰かがより良いプロジェクト アーキテクチャに向けて私たちを指摘できますか?

次のクエリがあります。

  1. Project.Data (mongoDB へのデータ アクセス用)、Project.WEB.UI(MVC)、Project.Core (ビジネス ロジック) - Visual Studio ソリューション ファイルに 3 つのプロジェクトを含めることはできますか?
  2. モデルクラスをどこに置く?Project.Core で? それらのプロジェクト間でモデルを共有する方法は?
  3. 誰かがこの種のアーキテクチャを持っていて、いくつかのサンプル クラスとインターフェイス (VS プロジェクト ファイル内) を持っている場合は、それを共有してください
  4. mongodb とやり取りするには、データ モデルも必要ですか? これらのモデルをどこに配置しますか? これらのモデルをすべてのプロジェクトで共有できますか? 動作するコードは高く評価されます。

注:他のSOの質問はすでにいくつか見たことがありますが、それらは私の質問に直接答えていません。

前もって感謝します。

4

1 に答える 1

1

私が取り組んだプロジェクトでは、コアとデータとして持っているものを組み合わせることになりました。最初に、サービスのビジネス ロジックと Mongo クエリを持つ DAL を完全に分離することにしました。MongoDB を使用する場合、RDBMS を使用する場合とはかなり異なるため、ビジネス ロジックの多くが Mongo 固有の方法で記述されていることがわかりました。そのため、冗長なレイヤーがあるように見えたため、レイヤーを結合しました。 RDBMS に戻すことにした場合は、ロジックの一部を書き直す可能性があります。

ご質問については、ドメイン オブジェクトは Mongo エンティティであるため、それらをデータ レイヤーに配置します。次に、MVC モデルを WEB プロジェクトに配置し、Automapper を使用してそれらの間をマッピングします。

于 2012-09-04T07:17:03.320 に答える