【问题标题】:Where to place service layer服务层放置在哪里
【发布时间】:2012-01-29 03:23:52
【问题描述】:

我正在使用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 集成是否可以接受。

谢谢!

【问题讨论】:

    标签: c# validation service-layer fluentvalidation


    【解决方案1】:

    分离层不需要物理上分离的组件。事实上,您拥有的程序集越多,管理解决方案就越困难/繁琐。分离层是一个逻辑问题。也许它是由命名空间或命名约定分隔的。

    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?

    这可以是服务层的一种用途,但并非必须如此。在过去的几年里,“服务”这个词已经被过度使用,以至于它几乎没有任何意义。

    分层应用程序的目的是让应用程序适应变化。这是一个非常模糊的陈述,但这就是它的全部目的。层允许封装,封装允许改变。

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 2011-07-24
      • 2010-12-14
      • 2013-03-04
      • 2015-02-14
      • 1970-01-01
      • 2015-01-07
      • 2017-01-29
      相关资源
      最近更新 更多