close
Struts VS Turbine
轉載自
http://www.cn-java.com/target/news.php?news_id=2335
Struts 和 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 頁面中也會用相關的導航.

和 Struts 的 struts-config.xml 相比有些亂(不知道 Turbine 3.0 中會不會有些提高).
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 所有的類和方法,極好的示例代碼哦

======我是分隔線=====
找到另外針對Turbine的解釋
Turbine是基於Servlet的Framework,也是開放源代碼Jakarta項目。目前還沒有關於Turbine的大量文章。它類似於Struts,但是有一些主要區別。突出的一點就是它並沒有與JSP耦合。Turbine的特點是它提供了大量可重用的元件。此框架包中包含了大量元件,但是這些元件是離散的。它似乎應該給出更多的元件庫,但是由於它缺少文章,所以很難掌握完整的體系結構。

這裡有一篇介紹java學習捷徑,竟然把Turbine放在第十點….是我太落伍了嗎@@
http://www.softhouse.com.cn/html/200504/2005040819540400006364.html



arrow
arrow
    全站熱搜

    npitt 發表在 痞客邦 留言(0) 人氣()