跳至內容

使用 Click 框架/擴充套件開發 Java Web 應用程式

來自華夏公益教科書,一個開放的世界中的開放書籍

Click Extras 提供了一套額外的控制元件和元件庫,這些庫超出了 Click 框架的核心功能。Click Extras 打包為一個獨立的 JAR 檔案,可以與您的應用程式一起部署。額外的包包括

  • Cayenne - 提供 Cayenne 資料感知控制元件
  • Control - 提供額外的控制元件
  • Filter - 提供 GZIP 壓縮過濾器
  • Graphics - 提供圖形控制元件
  • Hibernate - 提供 Hibernate 資料感知控制元件
  • Panel - 提供頁面面板容器
  • Spring - 提供 Spring 整合 SpringClickServlet

Click Extras 為人們提供了一個場所,讓他們可以將自己的程式碼貢獻給 Click 專案,並將其與標準發行版打包在一起。貢獻的程式碼將經過審查,並且可能需要修改才能包含在 Click 發行版中。

Click 的一項主要設計原則就是保持簡單,這使得程式碼更容易理解,也更可靠。

另一個指導原則就是 YAGNI(You Ain't Going to Need It,你不需要它),也就是說,只有真正需要的時候才去構建它。Click 試圖提供一個 80/20 規則框架,其中 80% 的人的需求可以透過一個只有 20% 大小的框架來滿足。

在開發 Click Extras 貢獻時,請遵循這些原則。

依賴項

[編輯 | 編輯原始碼]

元件和控制元件應該具有最少的依賴項。這樣做是為了支援 Click 示例的輕鬆部署,並使 Click 構建過程保持簡單。

請注意,Cayenne 和 Spring 依賴項僅在使用這些特定功能時才需要。例如,如果您使用 Hibernate 作為持久化框架,那麼 CayenneForm 控制元件不會引起任何問題,因為此類永遠不會被您的應用程式載入。

自動檔案部署

[編輯 | 編輯原始碼]

Click 框架使用 Velocity ToolsWebappLoader來載入模板。這避免了使用 VelocityClasspathResourceLoaderFileResourceLoader在 JEE 應用程式伺服器上帶來的問題。

為了使預配置的資源(模板、樣式表等)可用於 Web 應用程式,Click 會自動將配置的類路徑資源部署到/click目錄(啟動時不會覆蓋現有檔案)。

為了使您的控制元件能夠在啟動時部署資源,它應該使用 Control onDeploy() 方法。使用此方法的 Click 額外控制元件應該在 Click Extras JAR 中註冊extras-controls.xml檔案。

編碼風格和實踐

[編輯 | 編輯原始碼]

Click 遵循 Sun 針對 Java 程式碼風格的約定。其他風格約定和實踐包括

  • 縮排為 4 個空格,不使用製表符
  • public 和 protected 可見性成員需要 Javadoc
  • private 和 package 可見性成員不需要 Javadoc
  • 優先使用未經檢查的RuntimeException並避免建立新的 Exception 類
  • 檢查方法引數並丟擲IllegalArguementException如果引數為 null 或無效
  • 避免建立比完成工作所需的更多類
  • 在類的properties檔案中本地化控制元件訊息
  • 使用Context.getLocale()方法獲取使用者的區域設定
  • 在簽入程式碼之前,執行 Ant 任務ant format-java
華夏公益教科書