首页 文章 Struts Domain Model的三种类型及其级别

邮件订阅

Domain Model的三种类型及其级别 E-mail
用户评价: / 0
好 
作者:Anders小明   
2008-01-09 00:10
Author: Anders小明

    我们已知的Domain Object分为三种类型:
    0. 共享常量对象
    1. 长生命周期业务对象;
    2. Transaction交易过程的对象,几乎没有生命周期的;
    3. Request/Response对象。这类对象以前没有识别的,通常和VO混在一起;但是在IAA中以及电信业的模型是这类对象是独立存在,并被持久化的。当然他们也是几乎没有生命周期的,Request对象建立在增量更新上很有用。
 
    Domain Object的级别:
    不论是那种类型对象,都拥有一个属性:对象等级;对于保险系统来说,保单对象,产品对象以及组织对象是一级对象,而险种和角色等都是二级对象;这点对于设计Repository以及服务粒度都有影响。

    关于VO对象的讨论:
    VO对象是一种技术类型对象,存在于Web,Domain等层次,其存在的意义是提供集成能力;其意义是:1. 保护系统的信息边界,提供一种结构可以使其它系统或者组件通过编码方式获取系统内信息的方式;2. 保护系统的事务边界,领域对象技术上携带着持久化信息,通过VO可以屏蔽得以屏蔽。常见的VO对象存在于Web层和Domain层。
    因此,VO对象的存在只是为了集成而存在,其是否存在的取决于两个方面:框架提供的事务边界以及对象路径访问能力。
Domain层VO对象,通常是用于不同Domain组件间的访问。但随着架构的改进,集成代码独立存在,而不再嵌入到组件内部,组件的边界问题保护不复存在;更进一步的是,框架提供自动化的接口适配映射能力的增强。因而VO对象也失去存在的意义。
    Web层VO对象,以SWF为例,早在SWF 1.x时代,框架就提供了丰富的对象路径访问能力,但其Web交互是典型的MVC2方式,事务边界在view的render前关闭,因而导致需要特定的VO对象来避免持久化信息问题;而SWF 2.x时代,view的render是在事务边界内,VO不再需要。

最后更新于: 2008-01-09 00:10
 

欢迎转载

本站文章欢迎转载,但请注明出处(http://www.javajia.com,Java家)