Atitit orm的实现模式  data-mapper模式和active-record模式有什么区别

1.1. 这是来自Node.js路线有关混合两种ORM模式Active Record(活动记录模式)和Data Mapper(数据映射模式)的思考 1

1.2. 很显然,Active Record比较简单,但是不够灵活,而Data Mapper则是很灵活,但是多了一个实体管理器,增加了复杂性。 1

1.1. 这是来自Node.js路线有关混合两种ORM模式Active Record(活动记录模式)和Data Mapper(数据映射模式)的思考

。其实质是引发了失血模型与充血模型的区别,更深层次是引出了掌握    
      DDD
    
的必要性。  
 
首先这两种持久模式的特点如下:
 
Active Record(活动记录模式)是领域模型对象字段和数据表字段之间存储1:1的关系,也就是一个模型字段对应一个数据表字段;然后模型对象提供一个save()方法用来将模型对象持久化到存储层中去;模型是知道数据层的,也就是和数据持久层耦合的。

同时又具有Active Record的简单性

Data Mapper(数据映射模式)则是将领域模型对象和数据表完全松耦合,
领域对象只负责处理业务逻辑,根本不知道数据层,也就是和数据层是解耦的;使用一个实体管理器来将模型对象持久化到存储层中;模型对象的字段可以是任何名
称,只要符合业务模型即可,可以映射到数据层数据表的不同字段

Data  Mapper的灵活性优点,模型对象的字段不必和数据表的字段一一对应了。

1.2. 很显然,Active Record比较简单,但是不够灵活,而Data Mapper则是很灵活,但是多了一个实体管理器,增加了复杂性。

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke交友协会会长  uke捕猎协会会长 Emir Uke部落首席大酋长,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

uke 首席cto   软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理   uke科技研究院院长 uke软件培训大师

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

uec学院校长, uecip图像处理机器视觉专业系主任   uke文档检索专业系主任

Uke图像处理与机器视觉学院首席院长

Uke 户外运动协会理事长  度假村首席大村长   uke出版社编辑总编

转载请注明来源:attilax的专栏  http://blog.csdn.net/attilax

http://www.cnblogs.com/attilax/

--Atiend  v9

转载于:https://www.cnblogs.com/attilax/p/6789331.html

Atitit orm的实现模式 data-mapper模式和active-record模式有什么区别相关推荐

  1. Android开源库--ActiveAndroid(active record模式的ORM数据库框架)

    Github地址:https://github.com/pardom/ActiveAndroid 前言 我一般在Android开发中,几乎用不到SQLlite,因为一些小数据就直接使用Preferen ...

  2. Java多线程编程模式实战指南一:Active Object模式(上)

    转载自:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part1 Active ...

  3. [置顶] Java多线程编程模式实战指南(一):Active Object模式(上)

    本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-obj ...

  4. php 数据映射,数据映射模式(Data Mapper)

    数据映射模式(Data Mapper) 由 学院君 创建于5年前, 最后更新于 8个月前 版本号 #3 12934 views 7 likes 0 collects 1.模式定义 在了解数据映射模式之 ...

  5. STM8单片机低功耗---活跃停机(Active Halt)模式实现-1

      前两篇文章介绍了低功耗模式中的 等待(Wait)模式和停机(Halt)模式的实现.这篇文章开始介绍 活跃停机(Active Halt)模式. STM8单片机低功耗-等待(Wait)模式实现 STM ...

  6. Oracle Data Guard的三种保护模式

    Oracle Data Guard备库可以配置成不丢数据和丢数据2种.针对不同的配置模式,Data Guard有3种保护模式,如下所示: 最大保护模式(MAXIMUM PROTECTION). 最 ...

  7. 模式设计概述:反应器(Reactor)模式

    事件处理模式 在<面向模式的软件体系架构卷2:用于并发和网络化对象模式>中,总结了对于当前比较流行的事件处理模式的四种基本模式,分别是反应器模式.主动器模式.异步完成标记和接收器-连接器模 ...

  8. java 工厂模式的写法_[java设计模式] 工厂模式解析

    什么是工厂模式? 我的总结是: 遵守软件设计中的开闭原则和依赖反转原则, 并且客户端只需通过参数来创造多个对象, 并且在创建过程中,创建对象的过程对客户端是透明的. 这种开发模式叫做工厂模式. 出现原 ...

  9. linux 返回非法指令,linux – ARM Cortex A7在内核模式下返回PMCCNTR = 0,在用户模式下返回非法指令(即使在PMUSERENR = 1之后)...

    我想在Raspberry Pi 2上读取循环计数寄存器(PMCCNTR),它有一个ARM Cortex A7内核.我为它编译了一个内核模块,如下所示: #include #include int in ...

最新文章

  1. php实现小论坛,PHP开发 小型论坛教程之添加论坛-1
  2. 自定义装点博客的“门面”
  3. fatal error: opencv2/core/cvdef.h: 沒有此一檔案或目錄
  4. rabbitmq中消息的存储
  5. mac 偏好设置mysql不小心删除了_Mac 安装配置mysql,误删除local下的var和tmp文件夹该如何解决?...
  6. python的异步网络编程_python异步网络编程怎么使socket关闭之后立即执行一段代码?...
  7. linux socket编程web服务器实现报文解析,[Socket][网络编程]程序范例:Linux下连接WEB服务器...
  8. 本体学习的概念及目标
  9. 搭乘云原生与数据中台实践列车 通往数字化转型前沿之旅
  10. 数据挖掘是如何解决问题的
  11. ubuntu安装libjasper.so.1,libpng12.so.0
  12. 【图像处理基础】基于matlab图像RGB+HSV分布图【含Matlab源码 234期】
  13. Padavan路由器无法启用FRP的解决方法(固件版本3.4.3.9-099_11-23)
  14. dosbox运行C语言,DosBox的基本设置和安装
  15. GitHub图片加载不出来解决方案(超详细图文教程)
  16. 终端安全检测和防御技术
  17. 计算广告(五):搜索与竞价广告
  18. 在Python中建立N维数组并赋初值
  19. python五角星程序显示错误_python画五角星和六角星程序
  20. 利用Xming X Server使用服务器上使用kettle

热门文章

  1. jquery 利用CSS 控制打印样式
  2. 杭电 1060 Leftmost Digit
  3. 用Web Developer工具栏发现SEO问题的方法
  4. vb.net与FLASH的完美结合
  5. 问题 G: 编写函数:数组的排序 (Append Code)
  6. ROS学习笔记1(配置ROS环境和创建工作空间)
  7. 1-判断数字所在区间
  8. 06Matplotlib数据可视化--6.1绘图基础
  9. CryptoPunk 3443竞拍价达3000ETH
  10. Real Vision CEO预测以太坊币价将在今年年初达到2万美元