在哪里放置服务层

本文关键字:服务 在哪里 | 更新日期: 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?

可以作为服务层的一种用途,但不是必须的。在过去的几年里,"服务"这个术语已经被过度使用,以至于它几乎没有任何意义。

对应用程序进行分层的目的是允许应用程序适应变化。这是一个非常模糊的声明,但这就是它的设计目的。层允许封装,而封装允许更改。