Posted on 2005-11-18 10:54
publisher luo 阅读(3375)
评论(0) 编辑 收藏 所属分类:
框架设计及应用
Data Bean 在本框架中有Value
Object、View Object、BO、Java Bean、POJO等多种身份和用途。DataBean是个普通的JavaBean,作为POJO通过O/R Mapping来将数据固化到关系数据库或其它存储介质中;作为Value Bean可以将数据在各层之间互相传输;作为View Object帮助JSP页面将数据传输并显示出来;作为BO与service层的Manager们分别具有客观实物类的属性部分和行为部分,这样分离可以使服务层更好的分离出来并提供基于接口定义的服务,并更好的使Manager及相关类形成独立的组件(类似Session
Bean,符合façade模式)。
DataBean贯穿于各个层,所以当整个项目组分配任务是以层次来划分而不是以模块划分工作的时候,DataBean就成了各开发人员定义任务,理解任务,相互沟通的关键部分,因此DataBean必须能够快速完成并更新。因此本框架采用工具自动批量生成的办法生成DataBean,为了保证其准确性,项目组内严令禁止手工写DataBean。DataBean来自于数据库模型直接生成的XML Schema,并通过Castor生成DataBean。有专门维护数据库模型的人员统一生成,即便在整个项目过程中由于客户的原因需求不断变更导致数据库设计不断变更,DataBean也能正确的快速的生成出来。
DataBean还有三个个关键的方法就是marshal()、unmarshal()和validate()。Validate()方法提供了对数据进行校验的功能,这样不仅提供了在客户端用javascript进行校验的功能,还能在服务器进行数据的校验。Marshal和unmarshal两个方法分别可以把DataBean序列化和反序列化为xml文件,实现了和xml文件的快速转换功能。生成的xml可以单独存储(除了数据库存储的另一中固化方案),也可以作为客户端浏览器xmlhttp传输的数据格式,还可以作为提供的web service的传递参数(SOA)。