1

これはさまざまな投稿である程度回答されていることは知っていますが、VS2012withを使用するとMVC4、より更新された方法や新しい方法があるのではないかと思います。

22 のプロジェクトを持つ大規模なエンタープライズ アプリケーションがあります。複雑で大規模なビジネス オブジェクト/ロジック プロジェクトがあり、複数のプレゼンテーション層があります。を使用して新しいプレゼンテーション レイヤーで作業しMVC 4ます。MVCこのスケールでこれまで使用したことがありません。

ここに私の質問があります:

  1. このシナリオでは、人々はモデルをどのように扱いますか? Microsoft の例はすべてとても単純です。
  2. 自動マッパーへの投稿を見て、開発者が単純なモデルを使用して BO レイヤーから抽出することを推奨していますが、自動マッパーなどのこれらのツールの一部はアイドル状態になっているようMVCです。現在それを行うライブラリはありますか?

私は始める前にベストプラクティスを理解しようとしているだけですが、通常は事後にそれらを理解しているようです.

4

1 に答える 1

0

I break my MVC apps into several different projects.

  • AppName.Configuration: to handle any configuration of the app (i.e. pulling in web.config/app settings, etc)
  • AppName.Data: this is the data layer where all DB access is performed (no business logic). The DBML/EDMX lives here, my repository class(es) live here as well.
  • AppName.Models: this is where all of my ViewModels are defined for MVC, as well as other model objects needed throughout the application.
  • AppName.Services: This is my business layer, all everything must pass through here to get to the data layer or to the presentation layer. ViewModels are constructed from the database objects, data validation happens here, etc.
  • AppName.Web: this would be the MVC application.
  • AppName.Data.Test: Unit tests for Data app
  • AppName.Services.Test: Unit tests for the services
  • AppName.Web.Test: Unit tests for the MVC controllers
  • AppName.Web.UI.Test: Unit tests for the web user interfaces (using WATIN)

I don't use any auto-mappers, as i clearly define a specific viewmodel for each view of the application. If it isn't needed for the view, it doesn't go in there.

Most MVC examples are so basic, they show everything in the web app (data, models, business logic in the controllers, etc.)

I hope this helps.

于 2013-01-20T12:38:56.523 に答える