2016-01-25 71 views
0

我正在构建分层WebAPI。我有分层架构练习

  • 数据访问层
  • 业务逻辑层
  • (数据库模型)
  • 表现层(MVC)

数据库

  • 模式是这样的:

    Courses 
        - CourseID 
    
    Users 
        - UserID 
        - FirstName 
        - LastName 
    
    Attendants 
        - CourseID * 
        - UserID * 
    
    Dates 
        - CourseID * 
        - Date 
    

    我制作了1:1字段的模型(Model层)在数据库上。

    现在我想建立一个模型(商业模式?),其中有:

    class Course 
        List<User> Attendants { get; set; } 
        List<DateTime> Dates { get; set; } 
    

    的目标是回到这种模式为JSON。

    此模型属于哪个层?

  • 回答

    0

    我会重新字你的层次是这样的:

    • (DSL)数据存储层 - SQL数据库
    • (DAL)数据访问层 - 实体框架
    • (BOL)业务对象层 - 您的实体(MVC中的模型)
    • (PL)表示层 - 您的控制器逻辑与视图模型(Controller in MVC)
    • (VL)视图层 - 您的MVC视图。 (MVC中的视图)

    由于您的课程将被装配在控制水平进入将被传递给视图我建议把它放到表示层视图模型。

    1

    的目标是回到这个模型JSON

    如果这是唯一的目标,那么它是不是商业模式,这是一个视图模型。因此,它将属于表示层。

    业务模型用于定义和构建域逻辑,而不依赖于任何特定的技术。视图模型的作用是将数据绑定到特定的演示技术。

    最终,问题是......系统的哪个部分应与特定组件耦合?系统的哪些其他部分需要依赖它?在这种情况下,它与演示技术相结合,只有表示层才会依赖它。