谁能给我解释一下。net中的存储库模式,一步一步地给出一个非常简单的例子或演示。
我知道这是一个很常见的问题,但到目前为止我还没有找到一个满意的答案。
这是一个很好的例子:c#中的存储库模式示例
基本上,存储库隐藏了如何从数据库获取/持久化数据的细节。在被窝里:
作为总结,我将描述存储库模式的更广泛的影响。它允许您的所有代码使用对象,而不必知道对象是如何持久化的。所有关于持久性的知识,包括从表到对象的映射,都安全地包含在存储库中。
通常,您会发现SQL查询分散在代码库中,当您向表中添加列时,您必须搜索代码文件以尝试找到表的用途。这一变化的影响是深远的。
使用存储库模式,您只需要更改一个对象和一个存储库。影响非常小。
也许思考一下为什么要使用存储库模式会有所帮助。以下是一些原因:
您只有一个地方可以更改数据访问
您有一个单独的位置负责一组表(通常)
用伪实现替换存储库进行测试是很容易的——因此您不需要为单元测试提供可用的数据库
还有其他好处,例如,如果你正在使用MySQL,想切换到SQL Server -但我从来没有在实践中看到过这种情况!