最近笔者在软件产品研发过程中遇到一问题,解决起来相当的棘手。产品架构在规划阶段定位分布式多层架构,第一阶段采用B/S架构,同时研发出全部的服务端组件(Servlet和Java beans),在组件成熟并且B/S架构产品成熟的情况下,再研发C/S架构产品,这样一来,风险就大大降低了。
在B/S架构产品研发的时候,使用了Struts框架,其中的两大基础对象是ActionForm和Action。自定义的ActionForm都要继承自org.apache.struts.action.ActionForm,例如:
这在B/S产品研发阶段没有任何问题,但是到了C/S产品研发阶段,问题就来了,客户端提交给服务器的数据不再是ActionForm,而是只包含字段的纯JavaBean,代码如下:
于是乎,在原来的B/S架构研发成果上,对于C/S架构产品的研发,都多了这个纯JavaBean的封装,如果业务逻辑发生变化,要对MyClassForm和MyClass都进行修改。
如果Java能支持多继承,那么就很省事情了。即自定义的MyClassForm能同时从org.apache.struts.action.ActionForm和MyClass继承:
posted @ 2010-06-02 11:49 awp001 阅读(2028) | 评论 (10) | 编辑 收藏