有人可以向我解释.NET中的存储库模式,一步一步给出一个非常简单的示例或演示。
我知道这是一个非常常见的问题,但到目前为止我还没有找到满意的答案。
答案 0 :(得分:188)
作为总结,我将描述存储库模式的更广泛影响。它允许您的所有代码使用对象,而无需知道对象是如何持久化的。所有持久性知识,包括从表到对象的映射,都安全地包含在存储库中。
通常,您会发现代码库中散布着SQL查询,当您向表中添加列时,您必须搜索代码文件以尝试查找表的用法。这种变化的影响是深远的。
使用存储库模式,您只需要更改一个对象和一个存储库。影响非常小。
也许考虑一下为什么要使用存储库模式会有所帮助。以下是一些原因:
您可以在一个地方更改数据访问权
您有一个地方负责一组表格(通常)
使用虚假实施替换存储库很容易进行测试 - 因此您不需要为单元测试提供数据库
还有其他好处,例如,如果您使用MySQL并希望切换到SQL Server - 但我在实践中从未真正看到过这种情况!
答案 1 :(得分:176)
这是一个很好的例子:The Repository Pattern Example in C#
基本上,存储库隐藏了从/向数据库提取/保留数据的详细信息。在封面下: