设计模式Chapter07业务层框架模式

上传人:E**** 文档编号:91191673 上传时间:2019-06-26 格式:PPT 页数:15 大小:415KB
返回 下载 相关 举报
设计模式Chapter07业务层框架模式_第1页
第1页 / 共15页
设计模式Chapter07业务层框架模式_第2页
第2页 / 共15页
设计模式Chapter07业务层框架模式_第3页
第3页 / 共15页
设计模式Chapter07业务层框架模式_第4页
第4页 / 共15页
设计模式Chapter07业务层框架模式_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《设计模式Chapter07业务层框架模式》由会员分享,可在线阅读,更多相关《设计模式Chapter07业务层框架模式(15页珍藏版)》请在金锄头文库上搜索。

1、Java面向对象设计 第七章业务层架构模式,业务层架构模式概述,在三层架构中,业务层负责所有业务相关的工作,包括根据输入数据或已有数据进行计算,对从表示层输入的数据进行验证,以及根据从表示层接收的命令来确定应该调用哪些数据访问逻辑。对于应用系统来说,业务层主要维护业务逻辑,是系统的核心部分。因此,在应用系统开发时,业务层的开发是最为关键的。 业务层的架构模式有多种,最著名的就是以下两种 : 事务脚本模型 领域模型,(一)事务脚本模型,事务脚本(Transaction Script)架构模型是按照传统的过程化方式组织业务逻辑,它将业务层的业务逻辑组织为一系列的事务脚本,每个事务脚本是一个访问数据

2、库并执行计算的方法,每个事务脚本处理来自于表示层的单个请求。事务脚本通常被分组在一起,形成一个事务脚本类,以实现一到多个用例的业务逻辑。,(一)事务脚本模型,在使用事务脚本模式组织业务逻辑时,业务层结构由如下三个部分组成: 事务脚本:事务脚本类由一些方法组成,一个方法对应一个事务脚本,也就是对应一个用户请求。 DTO:事务脚本类操作DTO(Data Transfer Object,数据传输对象)。DTO只有成员变量,没有方法。它包含来自数据库的数据,并由事务脚本返回给表示层。 DAO:事务脚本使用DAO访问数据库。,(一)事务脚本模型,为了更清晰地理解事务脚本架构模式,我们以开发一个简单的员工

3、管理系统为示例。,(一)事务脚本模型,(一)事务脚本模型,开发基于事务脚本模式的业务逻辑的过程由四个步骤组成:1)识别事务脚本; 2)实现事务脚本; 3)实现DTO; 4)实现DAO。,(一)事务脚本模型,1)识别事务脚本 识别事务脚本可以通过分析用例或者分析用户界面原型,其中分析用户界面原型最为直接简单。,(一)事务脚本模型,2)实现事务脚本 现在我们已经识别了事务脚本,并确定了它们的参数和返回值类型。那么,整个过程的下一步就是实现事务脚本接口。,(一)事务脚本模型,3)实现DTO DTO在事务脚本和DAO之间,以及事务脚本和表示层之间传递。DAO使用DTO来返回需要从数据库获取的数据给事务

4、脚本,事务脚本使用DTO传递数据到DAO,以更新数据库。事务脚本也会将DTO返回给表示层。 DTO只保存数据,只有成员变量和setter/getter方法。DTO及其成员变量可以组合如下三种识别技术来判断: 为每个数据库实体表定义一个DTO,DTO的成员变量与表的列对应。 为每个用户界面定义个DTO,DTO的成员变量包含显示在屏幕上的数据。 运用简单的OO分析和设计技术,识别类及其成员变量。,(一)事务脚本模型,4)实现DAO 每个DAO由一个接口和一个实现类组成。在上章我们已经学习过DAO的实现方法。这里不在详细讲述,只列出简单员工管理系统的DAO接口及实现类代码。,(一)事务脚本模型,事务

5、脚本最大的优势在于使用简单。因为采用过程化设计,一个用户请求对应一个事务脚本,使用者无须拥有OO设计技能,不用识别类以及为类分配职责,任何初学者都可以很快掌握事务脚本模式来组织业务逻辑的方法。 缺点:因为事务脚本采用的是过程化设计的方法,所有业务逻辑都集中在事务脚本里面。很显然,将业务逻辑都集中在事务脚本里,违反了面向对象设计中单一职责等设计原则。这使得代码难以维护和理解,尤其是业务逻辑复杂的时候。 事务脚本模式虽然有缺点,但是至今仍然有很多开发团队采用该模式来组织业务层的业务逻辑。当业务逻辑相对比较简单时,采用事务脚本模式可以大大加快开发进度。同时,如果开发团队缺乏面向对象设计技能,采用事务

6、脚本模式也是理智的选择。,(二)领域模型,领域模型架构模式采用面向对象分析和设计技术来实现整个业务逻辑,这种设计方法也称为领域驱动设计(Domain Driven Design,简称DDD)。领域模型模式采用OOAD构建领域模型,它既是问题域的描述,又是业务逻辑设计的蓝图。 采用领域驱动设计的架构将业务层划分为应用层和领域层两层。其中,应用层是很薄的一层,用来协调应用的活动。它不包含业务逻辑,不保留业务对象的状态,但是它保留有应用任务的进度状态。领域层包含了关于领域的信息,它是业务软件的核心所在,在这里保存业务对象的状态。,(二)领域模型,在使用领域模型模式组织业务逻辑的应用程序中,领域模型是业务层的核心。不同应用领域的领域模型差别很大,但是其中的类可以按照它们在领域模型中的角色进行分类。 实体(Entity):具有唯一业务标识的对象,该标识与对象的属性值分离。 值对象(Value Object):由属性值定义的对象,没有唯一标识。 工厂(Factory):定义创建实体的方法。 仓库(Repository):管理实体的聚合,并封装持久层。 领域服务(Domain Service):实现无法指派给单个类的责任,并封装领域模型。,谢谢!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号