版本库模式逐步说明
有人可以请向我解释在.NET中的存储库模式,一步一步给出一个非常简单的例子或演示。
我知道这是一个很常见的问题,但至今我还没有find满意的答案。
作为总结,我将描述存储库模式的更广泛的影响。 它允许你所有的代码使用对象,而不必知道对象是如何持久的。 所有关于持久性的知识,包括从表到对象的映射,都被安全地包含在存储库中。
通常情况下,您会发现分散在代码库中的SQL查询,当您向表中添加列时,您必须search代码文件以尝试查找表的用法。 这一变化的影响是深远的。
使用存储库模式,您只需要更改一个对象和一个存储库。 影响非常小。
也许这将有助于思考为什么你会使用存储库模式。 这是一些原因:
-
你有一个地方来改变你的数据访问
-
你有一个地方负责一套表(通常)
-
用一个假实现来replace一个存储库是很容易的,所以你不需要在你的unit testing中有一个可用的数据库
还有其他一些好处,例如,如果您使用MySQL并想切换到SQL Server,但实际上我从来没有真正看到过这一点!
这是一个很好的例子: C#中的存储库模式示例
基本上,存储库隐藏了数据从数据库中被提取/保存的细节。 在封面:
- 为了阅读,它创build满足提供的标准的查询并返回结果集
- 为了编写,它发出必要的命令来使底层持久性引擎(例如SQL数据库)保存数据