轉(zhuǎn)帖|其它|編輯:郝浩|2010-06-04 13:35:11.000|閱讀 541 次
概述:最近筆者在軟件產(chǎn)品研發(fā)過程中遇到一問題,解決起來相當(dāng)?shù)募帧.a(chǎn)品架構(gòu)在規(guī)劃階段定位分布式多層架構(gòu),第一階段采用B/S架構(gòu),同時(shí)研發(fā)出全部的服務(wù)端組件(Servlet和Java beans),在組件成熟并且B/S架構(gòu)產(chǎn)品成熟的情況下,再研發(fā)C/S架構(gòu)產(chǎn)品,這樣一來,風(fēng)險(xiǎn)就大大降低了。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
最近筆者在軟件產(chǎn)品研發(fā)過程中遇到一問題,解決起來相當(dāng)?shù)募帧.a(chǎn)品架構(gòu)在規(guī)劃階段定位分布式多層架構(gòu),第一階段采用B/S架構(gòu),同時(shí)研發(fā)出全部的服務(wù)端組件(Servlet和Java beans),在組件成熟并且B/S架構(gòu)產(chǎn)品成熟的情況下,再研發(fā)C/S架構(gòu)產(chǎn)品,這樣一來,風(fēng)險(xiǎn)就大大降低了。
在B/S架構(gòu)產(chǎn)品研發(fā)的時(shí)候,使用了Struts框架,其中的兩大基礎(chǔ)對象是ActionForm和Action。自定義的ActionForm都要繼承自org.apache.struts.action.ActionForm,例如:
Public class MyClassForm extends org.apache.struts.action.ActionForm { Private String a; Private String b; …… //getter 和 setter省略 } |
這在B/S產(chǎn)品研發(fā)階段沒有任何問題,但是到了C/S產(chǎn)品研發(fā)階段,問題就來了,客戶端提交給服務(wù)器的數(shù)據(jù)不再是ActionForm,而是只包含字段的純JavaBean,代碼如下:
Public class MyClass { Private String a; Private String b; …… //getter 和 setter省略 } |
于是乎,在原來的B/S架構(gòu)研發(fā)成果上,對于C/S架構(gòu)產(chǎn)品的研發(fā),都多了這個純JavaBean的封裝,如果業(yè)務(wù)邏輯發(fā)生變化,要對MyClassForm和MyClass都進(jìn)行修改。
如果Java能支持多繼承,那么就很省事情了。即自定義的MyClassForm能同時(shí)從org.apache.struts.action.ActionForm和MyClass繼承:
Public class MyClassForm extends MyClass,org.apache.struts.action.ActionForm { } |
可惜啊,JDK不支持多繼承。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載