求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Tapestry檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
  Tapestry

Tapestry並不是一種單純的MVC框架,它更像MVC框架和模板技術的結合,它不僅包含了前端的MVC框架,還包含了一種視圖層的模板技術,使用Tapestry完全可以與Servlet/JSP API分離,是一種非常優秀的設計。 通過使用Tapestry,開發者完全不需要使用JSP技術,用戶只需要使用Tapestry提供的模板技術即可,Tapestry實現了視圖邏輯和業務邏輯的徹底分離。

簡介

Tapestry框架是一個位於java servlet容器和Tapestry應用程序之間的層。Tapestry不是一個獨立運行的服務器;它是一個servlet的擴展,它運行於servlet容器(例如Tomcat)或包含servlet容器的應用服務器中(如Jboss,Websphere,或者WebLogic). Tapestry應用其實是由一系列頁面組成,而每個頁面是由可以復用的組件構成。Tapestry是一種基於java的Web應用程序框架。Tapestry採用了組件的概念。程序員可以應用現有的組件或自定義應用程序相關的組件來構建應用程序。相對與現有的其他Web應用程序框架而言,應用Tapestry會讓程序員從煩瑣的,不必要的底層代碼中解放出來。Tapestry使用組件庫替代了標籤庫,沒有標籤庫概念,從而避免了標籤庫和組件結合的問題。Tapestry是完全組件化的框架。Tapestry只有組件或頁面兩個概念,因此,鏈接跳轉目標要麼是組件,要麼是頁面,沒有多餘的path概念。組件名,也就是對象名稱,組件名稱和path名稱合二為一。

評價

Tapestry僅僅是展現層的應用,或者說Tapestry僅僅是將處理好的信息展現給終端用戶,如HTML,以及處理來自鏈接和HTML表單輸入。Tapestry不知道或者不關心應用層、域邏輯層、或者信息的來源。一個Tapestry應用程序可以建立在平面文件數據庫、可使用JDBC存取的關係數據庫以及分布在世界上各個網絡上的EJB之上。Tapestry對你的應用沒有任何要求,它只是關注展現層是如何組織的。Tapestry框架填充了web應用開發中隱藏的縫隙:它提供了一個與開發人員相關的一致的框架。通常,每個開發人員自行管理他或者她開發的部分取忽略了其他的工程紀律從而使得項目承擔更大的風險。假如將建造一個大樓的工作分解成建造不同樓層並安排給工人們設計和建造單獨樓層,最後將它們用吊機裝配起來。每一個工人都給了一個完成後建築的粗略的草圖並告訴他們那一層該做什麼:「我們將把財務部門安排在這裡」,或者「這兒將是公司的自助餐廳。」。你能預測到會出現什麼樣的災難性的問題;每一個工人將使用不同的材料和不同的布局。電梯軸不能垂直,一些工人忘了給電線和管道預留空間,更有甚者,忘記了安裝窗戶!!可是,許多Web應用應用的開發仍然和上面描述的相似的混亂情況下被開發着。說明不完整;不同的開發人員以不同的方法處理類似的問題。一些開發人員不注意項目中的重要細節或者web開發中比較次要的細節。由於技術的不同,一些開發人員擅長些客戶端的javascript,其他的則擅長於後台系統的交互開發-但是項目管理者常常認為這些人是完全可以互換的。最常見的是,項目的成功或失敗擔子在最後完全落在「全壘打團隊「的肩膀上,他們不得不在剩餘的時間裡將所有的代碼片斷粘在一起。[1]

參考文獻

  1. Tapestry搜狗