新闻资信
news credit
浅析企业架构模式的几种方式
2011-12-29

1.基本模式
      Layer Supertype:曾超类型,让某一个类型充当一层中所有类型的超类(父类)。在某一层中,所有的对象或很多对象都具有某些相同的方法,我们不希望这些方法在系统里被复制而产生冗余代码,此时我们可以将这些行为移到一个通用的层超类型中。

佛山网站建设_佛山网站制作_佛山网站设计_佛山网站_佛山网页设计_佛山网页建设_佛山网页制作

2.分层模式
      在分解复杂的软件系统时,用得最多到的技术就是分层模式。那么对系统进行分层有哪些好处呢?
      1)无需过多的了解其他层次,可以直接某一层作为一个有机的整体来理解。
      2)可以替换某层的实现,并且不会影响其它层,只要替换前后提供服务相同即可。
      3)可以将层次间的依赖性减到最低。
      4)分层有利于标准化:(1)层次并不能封装所有的东西,甚至有时候会带来级联变动;(2)层次多了,也会影响性能。因为不同的数据形式要在不同层之间转换。

3.业务逻辑设计模式
      业务逻辑设计模式如下:
      事务脚本模式:已先行或面向过程的方式来组织业务逻辑。它将每一个业务流程都包装为一个大的、粗粒度的方法。
      活动记录:以底层的数据结构为基础来组织业务逻辑,每个对象都代表了表中的一行数据记录。
      领域模型:是对现实中的领域对象所进行的抽象和提炼。每个领域对象包含自己的数据行为。

4.表现模式
      Front Controller(前端控制器)模式:通过引导请求经过一个处理对象来统一所有的请求处理。
      Page Controller(页面控制器)模式:最基本的思想就是,为Web站点上的所有页面都在服务器上准备一个模块,这些模块充当控制器的角色。

5.对象关系映射
      通过以上分析,那么我们如何保持业务对象的数据和状态,以及如何从数据存储中获取业务对象的数据。
      Ouit Of Work:工作单元,确保所有线管的对象的改变在一个业务事务里面,同时确保在提交状态的时候维护业务对象状态和数据的一致性,要么一起成功,要么一起失败。
      Repository:资源库,用来协调领域和数据映射,是领域层完全不关注数据的存取,隐藏了后台的所有机制。
      DataMapper:数据映射,指把原生的数据取出来复制给一个对象,然后把对象的数据再次转换保存为原生数据的过程。
      Identity Map:表示映射,通过在映射中保存每个已经加载的对象,确保每个对象只加载一次,当要访问对象的时候,通过映射来查找它们。这个模式主要关注的是性能问题,如果多次加载相同数据,势必开销很大。在使用标识映射的时候还要考虑数据的一致性和并发性问题。
      Lazy Load:查询对象,它能够用业务对象的语言而不是数据库的语言来描述查询,这就意味着,我们在构建查询的时候,不必在意数据库中的表名和列名。查询对象一般使用设计模式中解释器模式来实现,查询对象知道如何将自己转换为底层数据存储设备。