ORM时代的数据访问.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORM时代的数据访问 从 Domain Logic and SQL 说起 曹晓钢,2005-5-31 Domain Logic and SQL SQL vs. Transaction Script vs. Domain Model Stored Procedure and In memory computing 耦合度降低 性能也降低 可读性提高 可移植性提高 --Martin Fowler , Feb. 2003 关系数据库已死? 数据库是否是软件开发的瓶颈? 面向对象技术与关系数据库技术是否格格不入? 对数据库的依赖是完全面向对象开发的最后一条尾巴? E-R model and SQL 用于统计计算的SQL非冯诺依曼语言,操作单元为二维表,无变量、循环 基于严格的行集、关系模型 模型验证机制:范式 高效简洁的索引与缓存实现 易于集群 复杂的SQL难于理解 耦合度高,难于实施开闭原则 OO-design and Object Graph 数据访问对象,图模型未定义 无严格标准的对象图操作方法 索引与缓存机制不明确 无范式 raimundo 徐昊(BJUG) 2005,05 Domain logic Domain logic由OO语言程序实现 冯诺依曼语言,有变量、循环,操作单元为实体 内存操作 缓存、索引无定义 可阅读性 可测试性 ORM与对象图持久化 Home made persistent layer: most are table based DAO is not good enough ORM的目标:基于可触及性的对象图持久化 对象图:节点语义与边语义 节点语义:Class Instance, pojo 边语义:关联 1:N, N:1,M:N,1:1 Lazy Loading 级联 排序 闭包计算 闭包:某个群对操作是封闭的(对关联封闭) 项目中大部分模块都是半闭包操作 闭包是表示层应用程序操作的主要目标 对一个闭包,操作基本是类似的: CRUD, List, Filter 持久化闭包/持久化对象图 如何对持久化闭包进行表现层操作 闭包算法 闭包对象图的节点访问:属性、方法 更重要的是使用反射 查找节点 遍历节点 集合类的复杂形态 OGNL,jxpath 界面构件:Menu 客户端对象图与服务器对象图 服务器对象图的数据结构:Parent-Child 节点语义 边语义 1:N no lazy loading 级联 排序 界面构件的例子:Tree 表现层对象图,与服务器端对象图 Tree构件的服务器端约束:Tree Interface 边语义: 1:N, 级联 对Tree interface的实现 Domain Model (or Table Model), 再包装为一个新的数据结构表现形式 Domain Model with Tree , 在Domain Model中直接建模为Tree形式 ORM模型的产生? 界面构件:工作流图 客户端对象图与服务端对象图 节点接口 边接口 Lazy loading 非级联 有向图 存在循环关联的情况 About RedS OpenDoc Hibernate - 《深入浅出Hibernate》 WebWork iBatis Spring (upcoming) 持续集成 (upcoming) CVS Translation Hibernate reference Scott. W. Ambler 系列文章 (upcoming) Pro Spring 空谈无用,埋头建设 * * *

文档评论(0)

559997799 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档