当前位置: 网学 > 编程文档 > 其他类别 > 正文

系统架构师谈企业应用架构之数据访问层

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12

一、上章回顾

上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才

能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作用仅体现在解耦作用。其实在业务逻辑层采用领域模型时,我们前面说的持

久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久化操作。当然本篇可能不会深入讨论持久化透明的具体实现,后面会单独开

篇来讲述,我们先来回顾下上篇讲解的内容:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/DA122119769.png" />

上图大概描述了上篇我们讲解的内容,如果您想要详细的了解服务

层的相关内容,请参考:系统架构师-基础到企业应用架构-服务层,后续我们将会对一些前端的服务层还会进行扩展的讲解,请大家提出报告意见和建议。

二、摘要

本篇将主要以系统中与数据库存储介质进行交互的数据访问层进行详细的介绍讲解,我想这块也是大家比较熟悉也是经常在项目中一定会用到的部分,我们知道

数据访问层通常我们都把这块的内容提升出来,写成通用的类库,在我们前面讲解的分层架构的系统中,基本上可以说业务对象中的数据都要通过数据访问层将业

务数据持久化到存储介质中。其实目前有很多的好的ORM框架已经很好的实现了数据访问层,而且得到了很广泛的应用,当然我们本篇也会以这些通用的框架为例举

例说明数据访问层中的一些设计模式。本章将会以下列几个典型关注点展开去讲:

1、数据访问层的职责及与其他组件的交互。

2、如何设计自己的数据访问层。

3、实现数据访问层必须满足的4个基本要求,持久化CRUD、查询服务、事务服务、实现并发等。

4、结合目前流行的几类框架分析框架提供的数据访问层功能的优劣。

下面我们将针对上面的几个关注点依次展开去说,希望能通过本文的讲解,让您对数据库访问层有个更深刻的认识和了解。

三、本章大纲

1、上章回顾。

2、摘要。

3、本章大纲。

4、数据访问层介绍。

5、如何设计数据访问层。

6、实现数据访问的四项原则。

7、本章总结。

8、系列进度。

9、下篇预告。

四、数据库访问层简介

本节将会主要针对数据访问层的功能及职责进行讲解,分析之前在业务逻辑层中的四种模式与数据访问层之间的关系。我们闲来看看数据访问层与业务逻辑层中的

四种模式之间的关系。

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/98122119806.png" />

我们在本节中的讲解主要是以领域模型为例进行分析讲解,因为只有领域模型模式,我们才能将数据访问层抽离出来,分成单独的层,这样能够做到领域对象持久

化透明。接下来我们来看看数据访问层都需要提供什么要的功能及数据访问层本身的职责是什么。

数据库访问层是唯一知道如何操作存储介质的入口,可以这么来说,基于数据访问层之上,我们调用数据库访问层提供的方法,我们就能完成数据的存储与读取,

所以我们可以知道,数据访问层应该是与数据库直接是独立的。还有就是我们的数据访问层如何能实现不同类型的数据库的动态的切换,而我们不需要修改任何的程序

功能等,可能我们在开发的过程中都会遇到这样的问题。所以我们希望可以对数据访问层完成动态的配置,通过不同的配置项完成对象数据库访问的切换,这里我想大

家都是比较熟悉的,通过XML配置文件来完成数据库的切换,前面我们说了我们的需求,是必须实现无缝的数据库的切换,那么我们如何实现呢,这里我们可以通过定

义一个数据库访问接口,然后通过实现不同的数据库的细节,来实现这样的切换。目前很多流行的框架都是采用这样的方式来

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号