最近筆者在軟件產(chǎn)品研發(fā)過程中遇到一問題,解決起來相當(dāng)?shù)募帧.a(chǎn)品架構(gòu)在規(guī)劃階段定位分布式多層架構(gòu),第一階段采用B/S架構(gòu),同時研發(fā)出全部的服務(wù)端組件(Servlet和Java beans),在組件成熟并且B/S架構(gòu)產(chǎn)品成熟的情況下,再研發(fā)C/S架構(gòu)產(chǎn)品,這樣一來,風(fēng)險就大大降低了。
在B/S架構(gòu)產(chǎn)品研發(fā)的時候,使用了Struts框架,其中的兩大基礎(chǔ)對象是ActionForm和Action。自定義的ActionForm都要繼承自org.apache.struts.action.ActionForm,例如:
這在B/S產(chǎn)品研發(fā)階段沒有任何問題,但是到了C/S產(chǎn)品研發(fā)階段,問題就來了,客戶端提交給服務(wù)器的數(shù)據(jù)不再是ActionForm,而是只包含字段的純JavaBean,代碼如下:
于是乎,在原來的B/S架構(gòu)研發(fā)成果上,對于C/S架構(gòu)產(chǎn)品的研發(fā),都多了這個純JavaBean的封裝,如果業(yè)務(wù)邏輯發(fā)生變化,要對MyClassForm和MyClass都進行修改。
如果Java能支持多繼承,那么就很省事情了。即自定義的MyClassForm能同時從org.apache.struts.action.ActionForm和MyClass繼承:
posted on 2010-06-02 11:49 awp001 閱讀(2055) 評論(10) 編輯 收藏 所屬分類: JDK