1

在 Fowler 的“企业应用程序架构模式”一书中,没有提到存储库模式的持久特性。“持久性功能”是指更新、保存、添加或删除实体的功能。只是对一组域对象的纯匹配机制。

另一方面,让我们看看 Mike Hadlow 的博客文章Using the IRepository pattern with LINQ to SQL。有一些具体的持久化方法,比如插入和删除。

那么存储库模式应该如何实现呢?你们能否请我指出好的“真正的”存储库实现。我对这个话题有些沮丧。

提前致谢!希望得到您的帮助!

4

1 回答 1

2

存储库应该就像内存中的数据集合一样。您选择的命名法,无论是添加还是插入、删除还是删除、选择还是获取,都不重要。

您可以将存储库分成 2 个接口,然后有一个用于获取/选择数据的 ReadOnlyRepository 和一个用于添加/更新/删除数据的 WriteRepository。没关系。重要的是您的应用程序或业务代码使用存储库与数据进行交互,就好像它已经加载到内存中一样,因此您不必编写与业务或应用程序代码混合的 SQL 查询。

更新

由于我们谈论的是一种模式,因此没有一个“真正的”存储库接口或实现。可能有许多不同的实现都遵循类似的模式。

于 2011-12-09T15:06:02.297 回答