ASP.NET MVC with Web API Architecture
大师,
我是MVC的新手。 我正在开发用于订单管理系统的Web应用程序。 我设计的体系结构将以下项目作为解决方案的一部分:
Q1。 我的问题是,应在哪里创建实体类或模型,这些实体类或模型将在"从服务到数据的表示形式"中使用? 在Presentation模型中还是在Web API服务层中还是在单独的项目中(C#库)?
Q2。 另外,让我知道是否有任何通用实现可从Presentation Controller调用WebAPI服务。
我们有一个类似的问题,那就是一个非常复杂的域模型。因此,我们选择了
- 在单独的DomainModel DLL中定义的数据实体模型
- 从数据模型映射到UI模型的UI映射器类
- 从数据模型映射到WebAPI模型的WebAPI映射器类
我们为什么要这样做的一个例子?
- UI具有分发者目录项的概念,这是目录项的一种特殊化
- WebAPI使用基本catalogueitem数据模型,但随后根据特定资源返回不同的数据(例如,搜索URL返回项目ID和基本信息;项目查找URL返回目录项目的完整详细信息。
由于上述原因,我们的DomainModel中的catalogiteitem是完整的完整对象,然后不同的"客户端"将其映射为合适的对象。
[这与菲利普·斯坦科夫斯基所说的一致]
我决定去像
1.启用JS的演示文稿(网络表单或仅HTML + JS)
2. Web API(控制器调用数据服务(EF + Repo)作为我的数据服务层),它可以支持基于浏览器的前端和设备
让我知道相同的任何缺点
问题1:在整个解决方案中,您将使用相同的实体,因此我建议将它们存储在您的Data项目中,因为它将所有与数据库相关的内容与其余逻辑分开捆绑在一起。
问题2:您总是可以向API发送请求以获取结果数据,这本质上就是它们的用途。