Struts VS Turbine [轉]
Struts 比 Turbine 的結構簡單多了,換而言之,Struts 是一個非常純的 Web Framework,它也僅僅只是一個 Framework.Struts 的官方定義中說了其符合 MVC,我并不是非常認同.Struts 很好的完成了 VC(Visual & Control),但它并沒有提供相應的M(Module),或者說不明顯.Struts 最好的搭檔可能就是 EJB 了,因為 EJB 補充了它的 M.而 Turbine 則不然,它的設計思路決定了它是一個 Web 應用的完全解決方案.Turbine 并不是十分符合 J2EE 標準.它有自己一整套解決方案,它是一個真正意義上的 MVC 模式框架.它具有大量的子項目來支持它的應用(子項目樹僅次于Jarkarta Commons 位居第二)
Turbine 要比 Struts 難理解,難學,但是掌握它是有意義的.如果你只是要寫一個 Web App 的話,Turbine 開發要比 Struts 快.
Turbine 支持 Velocity,WebMacro,Cocoon(XSLT) 等等,雖然它也支持JSP,不過它的最最親密的戰友任是 Velocity.
Struts 對于寫過 JSP 和 Servlet 的人來說可能會很輕切.Jakarta 項目組的相關項目 Taglibs 提供了大量的 Tag 以支持 Struts,使 Struts 的結構性和統一性變得很好,Struts 的另一個 Turbine 不如的地方是它的 mapping-forward 機制,在 Struts 中是用 struts-config.xml 文件來管理的,雖然隨著你的項目的擴大,這個xml文件會變得很大以至于難以維護(一般大的項目中會有專人管理這個文件),但是它的統一性和導航邏輯性比 Turbine 好的多,Turbine 把相應的邏輯以 Velcoity Template 類來控制.在相應的Velocity 頁面中也會用相關的導航.
Turbine 的一個極棒的子項目是 Torque,它提供了一個很好的 JDO 環境,而且 Torque 的機制會將 XML 格式的數據定義編輯成相關數據庫的表(支持現在流行的幾乎所有的數據庫),并編譯出和表結構一一對應的Java Class.
Torque 中的 Criteria 和 BasePeer 類具有極高的代碼水準,我會在以后的文章中仔細剖析這兩個類.
寫到這里吧,最近的文章我會針對于 Turbine 做詳細的分析和說明.
還有一點很重要,現在 Turbine 支持分布式計算方式(以前批評 Turbine 應用局限性的很重要的理由),這個子項目叫 JCS.
http://jakarta.apache.org/turbine
http://jakarta.apache.org/struts
注:大家都用過 Tomcat 吧,在Tomcat 4.1.10 以上版本提供了 Administrator Tools 圖形配置界面,這個系統是基于Struts的,看看源代碼吧,幾乎用到了 Struts 所有的類和方法,極好的示例代碼哦
posted on 2006-10-23 12:13 young 閱讀(196) 評論(0) 編輯 收藏 所屬分類: java