我正在构建一个分层的WebAPI。我有
数据库看起来像这样:
Courses
- CourseID
Users
- UserID
- FirstName
- LastName
Attendants
- CourseID *
- UserID *
Dates
- CourseID *
- Date
我制作的模型(模型图层)是数据库中的1:1字段。
现在我想创建一个模型(商业模式?),其中包含:
class Course
List<User> Attendants { get; set; }
List<DateTime> Dates { get; set; }
目标是将此模型作为JSON返回。
这个模型属于哪个层?
答案 0 :(得分:1)
目标是将此模型作为JSON
返回
如果这是唯一的目标,那么它不是商业模式,它就是一个视图模型。因此,它将属于表示层。
业务模型的目的是定义和构建域逻辑,独立于所使用的任何特定技术。视图模型用于将数据绑定到特定技术以进行演示。
最终,问题是......系统的哪个部分应该与特定组件耦合?系统的哪些其他部分需要依赖它?在这种情况下,它与表示技术相结合,只有表示层才会依赖它。
答案 1 :(得分:0)
我会这样重写你的图层:
由于您的课程将在控制级别汇编到视图模型中,该模型将传递给视图,我建议将其放入表示层。