【问题标题】:Queries on Repository Layer in MVC applicationMVC 应用程序中 Repository 层的查询
【发布时间】:2015-07-21 20:45:38
【问题描述】:

我正在使用 Razor 构建 MVC 5 应用程序。

我的应用分层如下:

  1. UI 层:由模型、视图和控制器组成。
  2. 数据访问层:连接和存储过程类
  3. 业务层(服务层)
  4. 存储库

我提到了Contosso Sample Application。它使用 DAL 来存储存储库。但我正在创建一个单独的图层。

我想知道:

  1. 是将存储库保留为单独的层还是在 DAL 中?
  2. UI 层模型包含视图模型。其他模型去哪儿了?它们是否驻留在存储库层中?这些叫POCO吗?

【问题讨论】:

    标签: asp.net-mvc repository-pattern poco


    【解决方案1】:
    1. 通常,存储库是访问数据的方法,因此只是 DAL 的一种实现技术。我会将它们合并为 DAL。
    2. 就其他模型而言,我假设您指的是与您的数据项对应的类。这些也应该存在于 DAL/Repository 层中。它们被称为 POCO,因为它们不包含任何实现,只是一个属性列表(普通的旧 CLR 对象)。

    【讨论】:

    • 我可以保留一个单独的存储层以更好地抽象吗?
    • @RKh 抽象了什么呢?我完全赞成抽象,但这两者本质上是相同的,毫无疑问,每次你添加一些东西时,你都会问自己它应该属于哪一个。
    • 我不想与 DAL 混合,因为 DAL 只包含连接和对存储过程的调用。因此,我想单独保留 Repo。
    • @RKh 如果你更喜欢这种分离,那就去吧:)。这些架构“指南”只不过是一个指南。根据不同的要求,您会遇到偏差,因此请随时将它们分开保存。不过,更好地命名它们可能是个好主意。 DAL 很好,但是除了 POCO 之外,Repo 中还会有什么?
    • 我打算把接口和CRUD方法放到Repo中。
    猜你喜欢
    • 1970-01-01
    • 2013-02-14
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多