仓储模式(Repository) - zLulus/My_Note GitHub Wiki

为什么要用仓储模式
通常不建议在业务逻辑层直接访问数据库。因为这样可能会导致如下结果:

重复的代码
编程错误的可能性更高
业务数据的弱类型
更难集中处理数据,比如缓存
无法轻松地从外部依赖项测试业务逻辑

在业务逻辑层通过仓库模式访问数据则可以实现如下特点:

最大化可以用自动化测试的代码量,并隔离数据层以支持单元测试。
对数据集中管理、提供一致的访问规则和逻辑。
通过将业务逻辑与数据或服务访问逻辑分隔开,从而提高代码的可维护性和可读性。
使用强类型的Entity以便在编译时识别问题而不是在运行时

参考资料

仓储(Repository)和工作单元模式(UnitOfWork)
【.Net设计模式系列】仓储(Repository)模式 ( 一 )
仓储模式