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

  • 相关阅读:
    Modbus Tcp[转载]
    NModbus使用示例
    “SAP.Middleware.Connector.RfcConfigParameters”的类型初始值设定项引发异常,解决方法
    .net x64 x86 any cpu
    虚拟机vmware 15的安装和使用
    nuget下载包,搜索到的包很少
    做一款简单、高效、好用的文件同步工具
    [WeUiSharp] 基于WPF实现的仿Windows桌面版微信UI界面库
    C语言----结构与联合(基础篇十一)
    C语言----字符串(基础篇十)
  • 原文地址:https://www.cnblogs.com/zhaow/p/9754059.html
Copyright © 2011-2022 走看看