zoukankan      html  css  js  c++  java
  • 单元操作和仓储模式 repository+unitOfWork

    仓储和工作单元模式是用来在数据访问层和业务逻辑层之间创建一个抽象层。
    应用这些模式,可以帮助用来隔离你的程序在数据存储变化。

     
    在数据源层和业务层之间增加一个repository层进行协调,有如下作用:
    1.从数据源中查询数据
    2.映射数据到业务实体
    3.将业务实体数据的修改保存到数据源 (持久化数据)
    这样repository就将业务逻辑和基础数据源的交互进行了分隔。

    数据和业务层的分离有如下三个优点:
    1.集中管理不同的底层数据源逻辑。
    2.给单元测试提供分离点。
    3.提供弹性架构,整体设计可以适应程序的不断进化。

    我们使用 generic repository去除冗余代码
    使用unit of work保证所有repositories使用同一个 context

    在Byteart Retail案例中,仓储接口定义在ByteartRetail.Domain程序集中,而仓储的实现部分则写在了ByteartRetail.Domain.Repositories程序集中,以下是Visual Studio 2012中解决方案资源管理器下的项目结构,我用数字对四个主要部分做了标注:1、领域层的所有内容都定义在ByteartRetail.Domain程序集中;2、在该程序集的Repositories目录(命名空间)下,定义了仓储的接口(事实上还包含了仓储上下文的接口定义);3、仓储的具体实现部分写在了ByteartRetail.Domain.Repositories程序集中,该程序集引用了ByteartRetail.Domain程序集;4、在ByteartRetail.Domain.Repositories程序集中提供了针对Entity Framework的仓储实现。

    内容来源:
    http://www.cnblogs.com/kevin2013/p/5239195.html
    http://www.cnblogs.com/daxnet/archive/2013/04/24/3040542.html#top

  • 相关阅读:
    操作excel语法
    MySQL exists的用法介
    vim 快捷键
    mysql中datetime比较大小问题
    MySQL CAST与CONVERT 函数的用法
    tbxvUZIAJH
    springBoot相关
    springCloud
    Spring Boot使用JavaMailSender发送邮件
    RabbitMq 消息队列
  • 原文地址:https://www.cnblogs.com/zhaow/p/9754059.html
Copyright © 2011-2022 走看看