我正在使用FluentValidation
框架。目前我有几个验证器(每个实体)。我将实体保存在单独的程序集(ProjectName.Domain
)和验证程序中。
我读过有关在存储库和控制器(http://www.asp.net/mvc/tutorials/older-versions/models-(data)/validating-with-a-service-layer-cs)之间显示中介层的服务层。
将service layer
保存在同一个程序集中是否可以?
据我所知,服务层的目的是保存具体(或可能是通用的)存储库和相应的验证器,并对存储库项进行验证。因此实现可能会有所不我是对的吗?
如何使用FluentValidation(或独立于框架)以正确的方式创建服务层。或者将基础实体与某些FluentValidation AbstractValidator class
进行整合是否可以接受。
谢谢!
答案 0 :(得分:4)
分离图层不需要物理上分离的组件。实际上,您拥有的组件越多,管理解决方案就越困难/繁琐。分离层是一个合乎逻辑的问题。也许它被命名空间或命名约定分开。
As far as I understand the purpose of service layer is to hold concrete (or possibly generic) repository and corresponding validator and make a validation over repository items. So implementations may vary. Am I right?
可以是服务层的一种用途,但不一定如此。 “服务”一词在过去几年里已经被过度使用,几乎没有任何意义。
分层应用程序的目的是允许应用程序适应变化。这是一个非常模糊的陈述,但这就是它的设计目的。层允许封装和封装允许更改。