服务层与业务层 - 差异?

时间:2011-10-12 14:26:12

标签: asp.net-mvc model-view-controller architecture service-layer business-logic-layer

我一直在阅读服务层和业务层以及它们的比较方式。我已经在StackOverflow上阅读了关于这个主题的一些线程,我仍然发现自己对两者之间的差异感到困惑,如果有的话。对我而言,它似乎主要是一种命名约定,其中一个开发人员将中间层称为业务层,另一个开发人员可将其称为服务层。从我在SO和网络上看到的代码看起来他们似乎主要做同样的事情 - 即查询存储库,可能进行一些过滤和/或验证并将结果返回到表示层。那么有人可以澄清两者之间的差异吗?或者我在考试中错过了标记?

我正在使用EF,MVC 3和VBNET,仅供参考

1 个答案:

答案 0 :(得分:14)

在我们的项目中,我们通常有以下结构:

服务层:

  • 发布服务端点(可能是您的MVC网页或WCF端点)
  • 进行安全检查
  • 将数据从合约数据传输对象映射到业务对象
  • 调用业务层中的功能

业务层

  • 包含业务逻辑
  • 访问数据层(这可能是您的实体框架数据模型)