【问题标题】:Where do we need to include non business logic validations in Service Layer我们需要在服务层的什么地方包含非业务逻辑验证
【发布时间】:2016-11-20 15:00:16
【问题描述】:

目前正在一个应用程序中工作,它具有以下层次结构

WEB API2 控制器(隐藏端点)

业务逻辑层(专用于业务逻辑处理)

数据访问层(存储库)

如果我们想强制执行与业务逻辑无关的验证,例如对实体中特定字段的字符计数验证,那么实现它的理想位置是什么?

有人说它应该在 Controller 上,但我不能同意。

【问题讨论】:

    标签: web asp.net-web-api2 business-logic business-rules


    【解决方案1】:

    在使用分层架构时,您不能教条主义。您可以测量任何功能的一些抽象。这种措施可以很灵活。

    在您的具体示例中,您正在查看验证实体的字符串大小。现在,名称实体将其放在数据层附近,这是我放置它的位置。因此,如果有人试图放置长度错误的实体,您的数据层可能会引发访问冲突。

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 2011-01-08
      • 2013-08-07
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      相关资源
      最近更新 更多