隨筆 - 53, 文章 - 0, 評論 - 3, 引用 - 0
          數據加載中……

          ActionForm 真的那么過時嗎?

          1. 在我看來,ActionForm是專用于表示層的,所以它依賴Struts這個web框架,也是很自然的。
          當然我知道很多人覺得Action Form不好的原因之一就是它強迫開發者繼承ActionForm基類。

          2. Action Form的最佳實踐就是只用String類型的屬性。如果想用自動類型轉換,十有八九是要吃苦頭的,
          這確實是一個缺陷,但是以我之見,這也不是什么硬傷。無非是需要寫action form轉換到DDO的代碼。

          3. 關于ActionForm是不是POJO的問題,我的認識是ActionForm也是POJO,因為你能創建它,控制它。在我看來只有EJB不是POJO。因為它是通過代碼生成技術生成最終的,我們沒有辦法控制。

          4. 我認為ActionForm并非無可救藥的最關鍵因素是。在J2EE的世界,不論是JavaBean,還是ActionForm,還是DDO,DTO,VallueObject。從面向對象的角度看,都不是真正的對象。為生么這么說呢?首先它不符合Encapsulation特性。可以說一旦需求改變,需要增加屬性,減少屬性,接口就必須改變。所以即使它們具有public方法,private 屬性的形式。在本質上實現和接口仍然是緊偶合的。在這樣的基礎上,我們賦予它們過多的重要性也許沒有什么意義。也就是說即使有更好的方案來取代ActionForm,也不過是錦上添花而已。

          5. 和DDO比較而言,DDO因為可以跨越多層,所以代碼可以更簡潔。而如果在表示層使用ActionForm,則需要將ActionForm轉換成Service層DDO,轉換的代碼比較煩瑣;但是用actionForm也有也各好處,表示層獨立性更強了,尤其是JSP完全獨立了,不再依賴service層的DDO。在service層和表示層分別由不同團隊開發的情況下,這種設計是有實際價值的。

          期待著大家的批判。

          posted on 2005-09-19 22:12 InPractice 閱讀(414) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 临高县| 晋城| 桓台县| 五河县| 阳原县| 梁河县| 游戏| 阜阳市| 台前县| 黄石市| 六枝特区| 鹤岗市| 闽侯县| 鄄城县| 江安县| 琼海市| 雅江县| 饶平县| 沐川县| 永安市| 永丰县| 乌拉特后旗| 南皮县| 伊吾县| 黎平县| 漳浦县| 临汾市| 日土县| 全椒县| 库车县| 铜陵市| 元阳县| 辽宁省| 长垣县| 彭阳县| 河西区| 克什克腾旗| 洪江市| 乡城县| 绿春县| 保山市|