【发布时间】:2013-04-05 19:23:57
【问题描述】:
我知道并不是每个人在开发 MVC 应用程序时都使用完整的架构,但我们假设我有以下架构:
App.Core --> Class Library (POCO or Domain objects)
App.Data --> Class Library (Repository and Entity Framework)
App.Service --> Class Library (Service layer with all business logic)
App.Web --> asp.net MVC 3.0 project
App.Data --> Has a reference to App.Core
App.Service --> Has a reference to App.Core and App.Data
App.Web --> Has a reference to App.Core and App.Service
在我们的 MVC 应用程序中,我们尝试遵循这种方法:
- 在我们的 Controller 中(在一个方法中),我们实例化了一个 ViewModel。
- 我们从 App.Service 层填充 ViewModel 调用方法
- 一旦 ViewModel 被填充,我们将它返回给 View(所以 View 现在是强类型)。
这发生在 99.9% 的时间。它很干净,我们喜欢它,而且它很好地利用了自己……等等!
现在我的问题如下:
如果我们决定将我们的应用程序迁移到 MVC 4.0 并开始使用 新的 Web API 方法,我不确定我完全理解在哪里(或如何) 它会适合我们当前的架构吗?
请记住,我们愿意改变这一点!
我们是否应该创建一个位于 App.Service 和 App.Web 之间的新 App.WebAPI 层? 这意味着在我们的控制器内部,我们将不再需要直接调用 App.Service 而是调用新的 App.WebAPI 层?
或者,将 Web API 保留在 App.Web 层中,让控制器调用其他 APIController,而后者又会调用 App.Service 层?
不确定我在这里是否有意义......但请随时提出任何建议,因为我对不同的输入感到好奇。
谢谢
【问题讨论】:
标签: asp.net-mvc-4 asp.net-web-api