灵石之迹

二零零五年十一月摄于杭州.西湖.白堤...
 

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在j2ee中,引入JSF,SDO等新技术后,对分层的发展

=======数据层===================================================================

1、静态结构层:一些XML文件,标准的是一个表一个XML结构文件,还有一些多表联合的XML结构文件(这根据具体应用要求)

2、SDO工厂层:实现调用“XML数据结构文件”和“数据库连接”生成SDO的数据图与数据对象的通用方法(其实就是SDO数据对象创建类)

3、SDO数据对象层:对应静态XML数据结构文件的一个个表对象,每个表对象都提供静态实例获取的方法接口,返回一个SDO数据对象实例

数据层内的MVC:
               M模型:静态结构层
               V视图:SDO数据对象层 
               C控制: SDO工厂层

=======应用层===================================================================

应用层里没有任何SQL语句,以及直接的数据库操作。

1、产品层:建立实现需要的各种关系对象,如组合关系的一组菜单对象,一组用户对象,一组页面对象
在这一层里解决对象间的相互关系,并提供相应的方法,如菜单对象的呈现方法,页面对象的呈现方法,用户对象权限判断方法。在这一层里不写与数据层的访问。

2、工厂层:建立构建产品的工厂对象,实现对产品的结构化,产生产品实例,在这一层与数据层发生关系,常用的是获取数据,并用数据生产出产品。数据访问数据层的一个个SDO数据对象,通过DMS(数据介质服务)对这些对象进行操作。

3、页面层:每个JSP页面建立一个页面代码类(faces受管Bean,继承PageCodeBase(基本页面代码)类,在这一层里关联工厂与产品,在各个事件代码处,调用工厂产生产品,然后调用产品的各种方法。对于直接的数据展现与更新,组件与SDO数据对象邦定,直接使用SDO数据对象作为源。在这一层里做到所有方法都是调用工厂,产品对象,不单独处理逻辑,简单说就是在这里进行对象总调度,让我的对象配合起来完成最后的实现

应用层内的MVC:
               M模型:产品层
               V视图:页面层
               C控制:工厂层 


===============================================================================
我项目里对这种方法实现的模型图

1、数据层(已一个表[GROUPS]为例,项目中多个XML文件,多个表对象)

                                                            (图一:数据层细分样例)



2、应用层


                                                             (图二:应用逻辑层细分样例)


==============================================================================
最后,
越来越发现设计是一件很美妙的事,设计没有绝对的正确,从不同角度去分析对象,会得出不一样的结果,设计必须在不断的重构当中变得优秀。没有一层不变的东西,我要自己敢改变,能改变,并喜欢改变。




posted on 2006-09-05 13:30  灵石  阅读(995)  评论(1编辑  收藏  举报