天天看點

子產品管理正常功能自定義系統的設計與實作(20--第一階段回顧)第一階段回顧

        經過前19節内容的搭建,對于單一一個子產品的各種操作功能已經建立完成。現在的設計已經是我能夠想到并能名實作的所有内容,以後會根據使用者的需求和新的想法進行擴充,有些已經有想法了還沒有實作。
        現簡要回顧一下此系統的主要思想和設計過程:
        系統的主要思想就是能夠對資料庫中的表自動進行解釋展示和的操作。與資料庫的聯接我現在使用的是hibernate,如果能跳過這個環節,直接使用jdbc來操縱,此系統甚至可以做到你拿一個資料庫過來,上述的設計都自動可以完成。當然這隻是個理想狀态,要真正達到是非常困難的。
        系統的設計過程:
        1、建立資料表;
        2、建立hibernate bean,并使用自己建立的标注類來進行标注表和字段;
        3、導入該子產品,将子產品資訊和各字段的資訊都加到配置表中;
        4、導入子產品時,已自動生成預設的grid和form的方案;
        5、設定角色對此子產品的權限;
        6、将此子產品加入到菜單;
        至此一個子產品被加入到系統裡。然後介紹了資料新增導入、導出列印、導航、圖表、附件的設計,這些全都是在前台設計後,儲存到資料庫的配置表中,然後再由前背景的程式去解釋執行。  
        系統的前台采用了extjs4 mvc的架構來進行開發,extjs4具有的良好的oop特性,其mvc的功能也很強大,能滿足設計過程中複雜的事件處理機制。前台可以用其他的架構來搭建,比如 jquery等。我的前幾個版本分别用的是extjs3,smartgwt,到最後改成了extjs4。系統的背景處理我現在選用的是spring mvc + hibernate ,也可以改成其他的架構比如c#等。不管什麼架構,資料庫中儲存配置的那部分都是相同的。
        基本每個系統都具有部分或全部以上功能,有些要素也是可以自定義來解釋執行,比如表單、清單等,但是完全能在前台自定義的設計的系統我還沒有看見過。可能也有,我自己沒看見,或者被做為公司機密不能外傳吧。
        我對這套系統的設計從最初版本起到現在也有近10年時間,在不斷的更新和改進中,這個應該會是最終的版本了。有人問過我寫這個系列部落格的原因,一來我也想對整個開發流程作一個回顧,以前我都是在心裡設計好了就直接開發,很少有設計文檔,最多也就畫畫流程圖,或是在程式裡注釋一下;二來也想對此系統作一個推廣,看看有沒有合作夥伴或者在市場上有何前景。也有人建議做成開源的項目,我正考慮之中。有任何建議或想法的可以跟貼回複,或可以聯系我:[email protected]
        我在寫此部落格時将此整個系統分為4個了階段。
第一階段為以上的20篇文章,介紹了一個子產品的設計與操作。這個階段的設計内容多,難度不大,程式設計量很多,難度系數定為5;
        第二階段為子產品與子產品之間的關系,難度大,程式設計量中等,難度系數為10;
        第三階段為權限設計,難度大,程式設計量少,難度系數為10;
        第四階段為綜合查詢,難度巨大,程式設計量中等,難度系數為20。
從下節開始介紹第二階段的開發。

繼續閱讀