最近筆者在軟件產品研發過程中遇到一問題,解決起來相當的棘手。產品架構在規劃階段定位分布式多層架構,第一階段采用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 閱讀(2055) | 評論 (10) | 編輯 收藏