系统架构师-基础到企业应用架构-数据访问层.pdfVIP

系统架构师-基础到企业应用架构-数据访问层.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统架构师-基础到企业应用架构-数据访问层

系统架构师-基础到企业应用架构-数据访问层 一、上章回顾 上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设 计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才 能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作 用仅体现在解耦作用。其实在业务逻辑层采用领域模型时,我们前面说的持 久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久 化操作。当然本篇可能不会深入讨论持久化透明的具体实现,后面会单独开 篇来讲述,我们先来回顾下上篇讲解的内容: 上图大概描述了上篇我们讲解的内容,如果您想要详细的了解服务 层的相关内容,请参考:系统架构师-基础到企业应用架构-服务层,后续我们将会对一些前 端的服务层还会进行扩展的讲解,请大家提出报告意见和建议。 二、摘要 本篇将主要以系统中与数据库存储介质进行交互的数据访问层进行详细的介绍讲解, 我想这块也是大家比较熟悉也是经常在项目中一定会用到的部分,我们知道 数据访问层通常我们都把这块的内容提升出来,写成通用的类库,在我们前面讲解的分层架 构的系统中,基本上可以说业务对象中的数据都要通过数据访问层将业 务数据持久化到存储介质中。其实目前有很多的好的ORM 框架已经很好的实现了数据访问 层,而且得到了很广泛的应用,当然我们本篇也会以这些通用的框架为例举 例说明数据访问层中的一些设计模式。本章将会以下列几个典型关注点展开去讲: 1、数据访问层的职责及与其他组件的交互。 2、如何设计自己的数据访问层。 3、实现数据访问层必须满足的4 个基本要求,持久化CRUD、查询服务、事务服务、 实现并发等。 4、结合目前流行的几类框架分析框架提供的数据访问层功能的优劣。 下面我们将针对上面的几个关注点依次展开去说,希望能通过本文的讲解,让您对数 据库访问层有个更深刻的认识和了解。 三、本章大纲 1、上章回顾。 2、摘要。 3、本章大纲。 4、数据访问层介绍。 5、如何设计数据访问层。 6、实现数据访问的四项原则。 7、本章总结。 8、系列进度。 9、下篇预告。 四、数据库访问层简介 本节将会主要针对数据访问层的功能及职责进行讲解,分析之前在业务逻辑层中的四 种模式与数据访问层之间的关系。我们闲来看看数据访问层与业务逻辑层中的 四种模式之间的关系。 我们在本节中的讲解主要是以领域模型为例进行分析讲解,因为只有领域模型模式, 我们才能将数据访问层抽离出来,分成单独的层,这样能够做到领域对象持久 化透明。接下来我们来看看数据访问层都需要提供什么要的功能及数据访问层本身的职责是 什么。 数据库访问层是唯一知道如何操作存储介质的入口,可以这么来说,基于数据访问层 之上,我们调用数据库访问层提供的方法,我们就能完成数据的存储与读取, 所以我们可以知道,数据访问层应该是与数据库直接是独立的。还有就是我们的数据访问层 如何能实现不同类型的数据库的动态的切换,而我们不需要修改任何的程序 功能等,可能我们在开发的过程中都会遇到这样的问题。所以我们希望可以对数据访问层完 成动态的配置,通过不同的配置项完成对象数据库访问的切换,这里我想大 家都是比较熟悉的,通过XML 配置文件来完成数据库的切换,前面我们说了我们的需求, 是必须实现无缝的数据库的切换,那么我们如何实现呢,这里我们可以通过定 义一个数据库访问接口,然后通过实现不同的数据库的细节,来实现这样的切换。目前很多 流行的框架都是采用这样的方式来实现数据库的动态切换。当然有时候我们 的项目中肯能不让我们使用开源的通用框架,这时候我们可能就需要自己去实现这些数据访 问层的具体细节。 当然数据访问层都必须能够将应用程序中的数据持久化到存储介质中,通常我们使用 的数据都是关系型的数据库,但是我们知道我们在程序的开发中,通常采用的 模型都是对象模型,那么如何实现对象模型与关系模型直接的互相的转换就显得非常的重要。 当然这是数据访问层的重要功能。通常来说,业务逻辑层及服务层不了解 数据库访问的具体细节,他们都需要通过数据访问层来实现数据的交互。一般来说在领域模 型中,数据访问通常都是在服务层中进行调用的,而业务逻辑层并不关注数 据持久化,所以我们前面说的持久化透明的方式也是由此方式来实现。 上面我们啰嗦了一大堆,基本上说了数据访问层的基本需求功能:

文档评论(0)

zhuwo + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档