我知道并不是每个人在开发 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 应用程序中,我们尝试遵循这种方法:
- 在我们的控制器内部(在一个方法内),我们实例化了一个 ViewModel。
- 我们从 App.Service 层填充 ViewModel 调用方法
- 一旦 ViewModel 被填满,我们将它返回给 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 层?
不确定我在这里是否有意义……但请随时提出任何建议,因为我对不同的输入感到好奇。
谢谢