在哪里放置服务层
本文关键字:服务 在哪里 | 更新日期: 2023-09-27 18:18:52
我使用的是FluentValidation
框架。目前我有几个验证器(每个实体)。我将实体保存在单独的程序集(ProjectName.Domain
)和验证器中。
我读到过一个服务层,它表示存储库和控制器之间的中介层(http://www.asp.net/mvc/tutorials/older-versions/models-(data)/validating-with-a-service-layer-cs)。是否可以在同一个assembly中举行service layer
?
据我所知,服务层的目的是保存具体的(或者可能是通用的)存储库和相应的验证器,并对存储库项进行验证。因此实现可能会有所不同。我说的对吗?
如何正确地使用FluentValidation(或独立于框架)使服务层。或者将碱性实体与某些FluentValidation AbstractValidator class
相结合是否可以接受?
谢谢!
分离层不需要物理上分离的组件。事实上,您拥有的程序集越多,管理解决方案就越困难/麻烦。分离层是一个逻辑问题。可能是由名称空间或命名约定分隔的。
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?
可以作为服务层的一种用途,但不是必须的。在过去的几年里,"服务"这个术语已经被过度使用,以至于它几乎没有任何意义。
对应用程序进行分层的目的是允许应用程序适应变化。这是一个非常模糊的声明,但这就是它的设计目的。层允许封装,而封装允许更改。