基於專案的最差實踐,可以總結出一套專案架構的最佳實踐原則以便今後的復用和改進。
原則1. 時間總是非常緊,需求總是在變化,技術問題總是層出不窮,千萬不要認為軟體工程的問題不會發生在規範的公司和專案。每次一定要根據自己所處的位置作出正確的評估,比如專案經理做評估要留出足夠的時間buffer,開發人員應當正確評價自己的工作量,盡可能開始工作。
原則2. 專案架構必須得完成基本的內容,即使時間非常的緊迫。以乙個三層架構的企業級**來說,資料庫建模,頁面流程圖和業務邏輯的sequence圖是必須的。
原則3. 資料庫模型一定要盡早考慮,,無論是採用ddd還是tdd,資料庫都是基石,尤其是採用hibernate這樣的工具,資料庫的建立意味著可以採用工具生成po, dao,那意味著你已經完成了20%的工作。
原則4. 使用中間的業務邏輯層。常常看到action中直接呼叫dao編寫業務邏輯的例子,這樣做並非不可以,在一些小型的專案中能夠節省時間,但在大型專案中,業務邏輯整合在action會導致可維護性變差,舉例而言,比如客戶臨時變更需求需要將某項業務邏輯作為web service對外發a布;而後者的優勢就顯現了,只需要新增額外的包,重啟執行測試的工作不涉及新包以外的**,當然也就能減少系統的故障率。
原則5. 對中間的業務邏輯層,採用面向介面程式設計。很多人不知道spring提倡的面向介面程式設計在**使用,於是到處都用,事實上,使用得不好常常會因為介面和實現的變動而造成困擾,正確的做法是:將業務邏輯抽象出來作為介面,這套介面一定要像資料庫一樣千錘百鍊,好的介面能更好的適應變化。業務邏輯層的穩固有助於工作的分離和解耦,一旦介面定義出來,開發struts和業務邏輯的人就可以分開並行工作,並且相互的變動不會受到影響,被非常好的分離了,所以,中間的業務層介面定義,是第二層基石,與資料庫一起構成了三層結構,二層基石。
原則6. 美工頁面要先於編寫jsp完成。雖然說mvc的使用有助於分離美工與開發者,但是有的工作未必能完全並行,美工的頁面需要基於pageflow完成,而頁面的布局和樣式需要得到客戶認可,因此一定要盡早引入美工,當美工完成靜態頁面時,開發jsp才不會浪費時間,否則,常常會因為頁面而影響到控制邏輯。
原則7. 採用統一的架構,預先寫好基礎**。統一架構對於專案的可維護性尤為重要,比如讀取日誌,讀取配置,基礎dao,基礎action,基礎form等等。基礎的架構減少了不必要的重複工作,加快了專案開發速度,其重要層度,是我每次都必然強調的。也正因為如此,該文章的系列將會**架構乙個專案的基礎**。
原則8. 如果不是非常特別的需要,盡量不要過多的使用**生成工具。**生成工具能夠極大的提高程式設計效率,但是,如果不熟悉生成工具所採用的元件及配置,那麼盡量不要使用,當生成的大量**不能根據你的定製化復用或工作時,相信你只有欲哭無淚了。
J2EE專案架構最佳實踐
基於專案的最差實踐,可以總結出一套專案架構的最佳實踐原則以便今後的復用和改進。原則1.時間總是非常緊,需求總是在變化,技術問題總是層出不窮,千萬不要認為軟體工程的問題不會發生在規範的公司和專案。每次一定要根據自己所處的位置作出正確的評估,比如專案經理做評估要留出足夠的時間buffer,開發人員應當正...
步入J2EE架構和過程(2)
4 物件設計 在架構規範的指導下,設計從技術上擴充套件和修改了分析結果。雖然分析階段的領域物件建模應該與技術細節無關,但是物件設計完全依賴於技術因素,包括平台 語 言的型別和架構開發階段選擇的 商。分析時,抬頭望著星星,但在設計階段,則要腳踏實地。理論上,為了維持業務物件的基本屬性和行為,除非絕對必...
ECP系統J2EE架構開發平台
一 體系結構 ecp平台是乙個基於j2ee架構設計的大型分布式企業協同管理平台,通過採用成熟的j2ee的多層企業架構體系,充分保證了系統的健壯性 開放性和擴充套件性。可選擇部署於多種系統環境,滿足不同型別 不同規模企業的需要。企業可以根據自己的實際情況構建合適的應用環境,結合作業系統 中介軟體平台和...