细说MVC中仓储模式的应用
文章提纲 概述要点 理论基础 详细步骤 总结 概述要点 设计模式的产生,就是在对开发过程进行不断的抽象。 我们先看一下之前访问数据的典型过程。 在Controller中定义一个Context, 例如: private AccountContext db = new AccountContext(); 在Action中访问,例如获取用户列表: var users=db.SysUsers; 类似于这种,耦合性太高。业务逻辑直接访问数据存储层会导致一些问题,如 重复代码;不容易集中使用数据相关策略,例如缓存;后续维护,修改增加新功能不方便 等等。 我们使用repository来将业务层和数据实体层分开来,业务逻辑层应该对组成数据源层的数据类型不可知,比如数据源可能是数据库或者Web service 在数据源层和业务层之间增加一个repository层进行协调,有如下作用: 1.从数据源中查询数据 2.映射数据到业务实体 3.将业务实体数据的修改保存到数据源 (持久化数据) 这样repository就将业务逻辑和基础数据源的交互进行了分隔。 数据和业务层的分离有如下三个优点: 1.集中管理不同的底层数据源逻辑。 2.给单元测试提供分离点。 3.提供弹性架构,整体设计可以适应程序的不断进化。 我们将会对原有做法进行两轮抽象,实现我们想要的效果。 理论基础