我们在哪里需要在服务层中包含非业务逻辑验证

时间:2016-07-18 05:45:31

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

目前,您正在使用某个应用程序,它具有以下层次结构

WEB API2控制器(hilds终点)

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

数据访问层(存储库)

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

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

1 个答案:

答案 0 :(得分:1)

使用分层架构时,一定不要教条。您可以测量任何功能的抽象。这项措施很灵活。

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