系統設計規範化攻克了什麼問題

系統設計規範化攻克了什麼問題()前端

你們好,今天總結下我從事開發工做這幾年裏,對於項目規範化的一點想法和感觸.jquery

在筆者內心,規範是爲了解決這個問題而存在的,某些規範都是爲了相應問題而存在的.因此僅僅要是能解決這個問題的文檔,聲明都是規範.web

  在某時開始設計系統,帶人作系統的時候.筆者考慮到了例如如下幾個問題:數據庫

  1. 需要將系統設計成模塊化流程化.緩存

  2. 需要將系統具備共性的操做抽離成統一的接口框架

  3. 需要爲系統設計一套代碼規範dom

  4. 需要將系統設計的更能知足將來的需求jsp

 

問題1攻克了哪些問題:模塊化

  • 對於系統文件夾:筆者以前遇到過一些項目,再熟悉系統時吃了些苦頭。花費了很是多時間去研究,最糟糕的是在系統環境搭建啓動的時候都有很是多困難。函數

    10個project可能有10種的搭建方式。因此假設你的項目構建比較另類,請提供一份系統文件夾搭建描寫敘述。假設你不想花時間去寫文檔。可以使用很是多人都在用的MAVEN構建project,這樣每個開發者都能高速熟悉project,搭建project環境。

  • 對於系統層級:假設需要你去維護一個系統,jsp中摻雜了代碼,又一個類有一千行,一個函數有幾百行,當即就感到眩暈感受天要塌下來了.劃分好各個層級的職能可以有效的下降這樣的狀況的發生,actin/web僅僅負責請求轉發,service僅僅負責業務處理,dao僅僅負責數據庫操做,jsp僅僅負責頁面展現,domain僅僅負責對象關係映射,util僅僅負責提供工具類,constant僅僅負責提供常量,model僅僅負責頁面信息對象的傳遞.這樣各層僅僅負責指定的功能,一個流程化的開發模式就造成了.下降維護難度,下降出錯的機率.

     

問題2攻克了哪些問題:

  • 下降開發者工做量:在一個系統中有很是可以封裝的東西,比方對數據庫的操做,筆者將所有的對數據的操做方法全封裝到一個接口類裏,並提供了一個抽象類實現該接口.又或者對於jsp頁面中提供統一的前端校驗js文件,service層提供默認的事務隔離級別與傳播機制.這樣就下降各開發者的工做量.

  • 下降開發者反覆性工做:如上.

 

問題3攻克了哪些問題

  • 便於系統的全局控制:比方方法名是依照規範來的,那在事務控制中,由於要對不一樣的方法名設置不一樣的控制級別,那就會很方便.又比方未來要實現讀寫分離,需要依據方法名選擇不一樣的數據源,方法名規範就很方便,不然就需要大量的修改.

  • 節省時間:看到一個變量名就知道類型,看到方法名就能知道功能,看到類名就知道表明的事務,這樣可以節省大量的時間.

  • 筆者在2012年總結的一份規範文檔博客:http://blog.csdn.net/cuiyaonan2000/article/details/8331002.本人的聯繫方式cuiyaonan2000@163.com

 

問題4攻克了哪些問題

  • 技術上的需求:作系統設計需要提早想到開發者,未來在開發過程當中可能遇到的問題,需要提早想到解決方式,比方需要webservice,可以提供cxf實現方案.又或者需要進行前臺/後臺的數據校驗證,可以提早提供jquery validate實現方式.需要進行系統間的系統交互可以使用jsm實現方案.

  • 性能上的需求:隨着項目經驗的添加,筆者發現假設需要提高項目性能,比方添加頁面緩存,數據緩存,讀寫分離,全文檢索,業務拆分,集羣化,都會修改系統的框架.假設前期設計的很差,就需要至關於重作.因此建議項目在開始設計的時候就需要考慮到項目未來的性能問題.

 

總體來講筆者想到這些問題的解決辦法有3方面.

  1. 讓開發者用最少的時間熟悉系統,瞭解系統.

  2. 加強系統的可維護性,擴展性.

  3. 添加系統的性能.

相關文章
相關標籤/搜索