1

我应该如何在逻辑上定义 ASP.NET MVC 解决方案?我必须将我的解决方案分成多少个项目?对此有标准方法吗?例如,一个模型类库、一个 MVC Web 应用程序(包括控制器和视图)、一个单元测试项目、一个存储库项目等......可以提出哪些不同类型的项目?

4

2 回答 2

1

答案真的取决于。取决于你的项目规模。你可以把它全部放在一个项目中(主 MVC 之一),你可以进一步拆分它。这个项目的规范形式是这样的:

project.WEB
project.Common (here belongs common functionality between projects, so helpers, utilities, even some extension methods belong there)
project.Model (Data entities)
project.BL //(Business Logic)
project.DAL //(Data Access Layer or Persistence)
project.Tests

*注意“项目”是你的命名空间根。如何处理命名空间命名您可以在那里查看:命名空间命名约定

而且您可以将其拆分得越来越远。但是,我建议您不要夸大进一步拆分它。当您必须这样做时,您会知道(一个项目增长过多,存在逻辑分离......)。您尝试遵循YAGNI原则。

还有一件事情。如果您想“按本书”去那里,请查看 DDD - 域驱动设计:http: //msdn.microsoft.com/en-us/magazine/dd419654.aspx

于 2013-03-07T09:39:08.690 回答
0

这是一个非常广泛的问题,但我会给你一个我在以前的项目中所做的例子。首先,这将取决于整个应用程序的复杂性以及开发人员的个人偏好。一个简单的应用程序可以非常适合单个 MVC 4 应用程序。

Web Project - for the views using MVC4
Application - for business logic)
Data - for repositories and webservice methods)
Domain - for the objects used in the app
Utilities - for common functionality that needs to be used in more than one project

上面的示例非常适合该项目,使我能够分离所有关注点,使其更易于维护。

于 2013-03-07T09:41:37.220 回答