存储库和服务之间的区别?

存储库和服务之间有什么区别? 我似乎没有把握。

我正在谈论通过数据访问层进行数据访问,通常使用linq to sql。

我经常看到使用简单CRUD方法的存储库,以及具有更多业务特定方法的服务。

我们可以把这篇博文作为例子。 如果您查看底部的界面(图片),他有两个存储库和两个服务。 如何知道要放哪里?

正如我所说,存储库似乎更像是类似CRUD的操作和服务更多的面向业务。

谢谢

Repository本质上是一个使用Collection风格语义(Add,Update,Remove)来提供对数据/对象的访问的持久性外观。 这是将数据/对象与应用程序的其余部分存储在一起的一种解耦方式。

服务提供协调或其他“服务”,这些服务是运行您的应用程序所必需的。 它们的区别在于,服务通常不知道如何从持久性访问数据,而存储库通常访问您可能拥有的任何服务的数据/对象。

存储库是数据存储的地方。 该服务是操纵数据的东西。

在实际情况比较中,如果您的资金存储在银行的存储库中,则存储库就是存储库。 存款,取款等出纳员是服务。

一般来说,我认为这是第一次尝试(直到你给出更多的上下文,如果你有一个):

  • 一个仓库是你放置一些全局对象的地方,以后使用。
  • 一个服务是一个业务逻辑代码,是明确的(理想情况下从表示层和数据库层分开?)