传统的企业架构是指一个机构或组织范围内的框架。这个框架用来整合业务流程、信息流、数据和基础设施,从而有效地支持组织的需要。而从软件开发的角度来看,企业架构意味着定义一个流程、架构和一系列有指导意义的设计方法和开发方式。同时企业架构也会关注如何将每个应用在不同层次上分解为可以重用的模块。
企业架构模式分为6种:
1.分层模式
在分解复杂的软件系统时,用得最多到的技术就是分层模式。那么对系统进行分层有哪些好处呢?
1)无需过多的了解其他层次,可以直接某一层作为一个有机的整体来理解。
2)可以替换某层的实现,并且不会影响其它层,只要替换前后提供服务相同即可。
3)可以将层次间的依赖性减到最低。
4)分层有利于标准化:(1)层次并不能封装所有的东西,甚至有时候会带来级联变动;(2)层次多了,也会影响性能。因为不同的数据形式要在不同层之间转换。
2.业务逻辑设计模式
业务逻辑设计模式如下:
事务脚本模式:已先行或面向过程的方式来组织业务逻辑。它将每一个业务流程都包装为一个大的、粗粒度的方法。
活动记录:以底层的数据结构为基础来组织业务逻辑,每个对象都代表了表中的一行数据记录。
领域模型:是对现实中的领域对象所进行的抽象和提炼。每个领域对象包含自己的数据行为。
3.对象关系映射
通过以上分析,那么我们如何保持业务对象的数据和状态,以及如何从数据存储中获取业务对象的数据。
Ouit Of Work:工作单元,确保所有线管的对象的改变在一个业务事务里面,同时确保在提交状态的时候维护业务对象状态和数据的一致性,要么一起成功,要么一起失败。
Repository:资源库,用来协调领域和数据映射,是领域层完全不关注数据的存取,隐藏了后台的所有机制。
DataMapper:数据映射,指把原生的数据取出来复制给一个对象,然后把对象的数据再次转换保存为原生数据的过程。
Identity Map:表示映射,通过在映射中保存每个已经加载的对象,确保每个对象只加载一次,当要访问对象的时候,通过映射来查找它们。这个模式主要关注的是性能问题,如果多次加载相同数据,势必开销很大。在使用标识映射的时候还要考虑数据的一致性和并发性问题。
Lazy Load:查询对象,它能够用业务对象的语言而不是数据库的语言来描述查询,这就意味着,我们在构建查询的时候,不必在意数据库中的表名和列名。查询对象一般使用设计模式中解释器模式来实现,查询对象知道如何将自己转换为底层数据存储设备。
4.表现模式
Front Controller(前端控制器)模式:通过引导请求经过一个处理对象来统一所有的请求处理。
Page Controller(页面控制器)模式:最基本的思想就是,为Web站点上的所有页面都在服务器上准备一个模块,这些模块充当控制器的角色。
5.基本模式
Layer Supertype:曾超类型,让某一个类型充当一层中所有类型的超类(父类)。在某一层中,所有的对象或很多对象都具有某些相同的方法,我们不希望这些方法在系统里被复制而产生冗余代码,此时我们可以将这些行为移到一个通用的层超类型中。
阅读(1237) | 评论(0) | 转发(0) |