【发布时间】:2016-09-06 08:19:00
【问题描述】:
解决方案结构:
MyProject - WEBAPI
MyProject.CORE - 类库
MyProject.Models - 类库
MyProject.DAL - 类库
项目参考:
MyProject 指的是 CORE , MODELS
MyProject.CORE 指的是 DAL、模型
MyProject.DAL 指的是模型
项目描述:
我正在尝试使用 ASP.NET MVC WEB API 创建一个应用程序。这样我就可以在未来的移动应用程序中调用我的 API。我在这种分层架构背后的想法是 WEB API 项目将保存我的桌面应用程序的前端视图,并在按钮单击事件上调用 API 控制器方法。 API 控制器中的事件处理程序方法将调用 CORE 项目中的方法,我将在其中实现业务逻辑。然后调用将转到 DAL,在那里我将调用 DB Stored Procs 来插入数据。由于 MODELS 项目被称为其余 3 ,我将能够在它们之间传输对象。
下面是我的问题。
1) 我可以使用上面相同的 Web API 项目来创建我的桌面应用程序的视图并在按钮单击等事件上调用 API 控制器方法吗?
2) 我不想将我在 CORE 应用程序中的业务逻辑的实现暴露给任何其他引用项目。但我仍然需要遵循分层架构。
我怎样才能做到这一点。请举例说明。
3) 有没有我可以遵循的最佳架构来满足上述要求。
4) 这是一个有效的 WEB API 架构吗?是否可行?
请将 Model 示例设为 UserModel {Name, Password, Email}
【问题讨论】:
-
为什么?在不同的项目中分开有什么用,而不仅仅是同一个项目中的文件夹?你打算在 DAL 项目中投入什么?对我来说,闻起来像是过度设计。我总是分开开始的唯一项目是带有测试的项目,所以我猜你错过了 MyProject.Tests 项目。
标签: c# asp.net asp.net-mvc asp.net-web-api