記錄我開發鞋服行業供應鏈軟件的歷程

 系統架構我想把它分爲兩部分,一是技術架構,二是業務架構。

    做任何一個系統,首先都要選擇合適的技術來開發,這個要從兩方面結合起來看,一是系統業務的特點,

二是團隊成員的技術結構,這裏面的權重比我覺的是業務>技術。在鞋服行業,由於它的組織結構的特殊性

(在全國各地都有分支結構),採用b/s結構爲首選,技術方面我們團隊只對Java熟悉,所以這次技術的選型

很快就確定了.

    Java的流行框架目前很多,可以說是眼花繚亂,我們用的還是最普通的架構,SSH(struts+spring+hibernate)

,但是我們經過了自已的改寫,形成了自已的一套技術框架.(改寫重要參考的是springside).

   [總的思想]

   1:以業務層爲核心.

   2:低耦合.儘量降低每層之間的聯繫.

   [特點]

   1:整個系統只有一個Dao,Dao置於每個業務對象裏面.

   2:整個系統只有一個Action,Action只起一個承上起來的作用.

   3:普通的增加,修改,刪除,使用Hibernate,複雜的查詢直接使用原生SQL

   4:顯示層支持JSON,Freemark,Velocity,Ecxel,PDF等

   5:學習簡單,開發速度快。只需要開發業務邏輯就可以。

   [分層MVC]

   顯示層--->業務層--->數據庫層

   顯示層:struts1.1實現,把一些常用的功能封裝成tag.

   業務層:實現最基本的單表CRUD接口和主子表CRUD接口

   數據層:Dao接口的實現,分爲讀接口和寫接口。寫接口有事務控制.

   [業務層和數據庫層之間的關係]

   數據庫層服務於業務層,每個業務對象擁有一個Dao屬性,業務層不控制事務,但業務層可以決定哪些操作

需要用事務,哪些不用。數據庫層支持單表操作的事務,多表操作的事務,混合操作的事務,具體含義是:

  1:單表操作事務控制:當前操作只有一個對象。

  2:多表操作事務控制:當前操作有N(N>=1)個對象.

  3:混合操作事務控制:當前的操作對象很多,操作的方式也很多,比如:保存一條記錄,刪除一條記錄,執行

一個sql腳本,執行一個儲值過程

  [依賴關係]

    顯示層Action是獨立的,業務層依賴於數據庫層,數據庫層是獨立的。那顯示層如何綁定找到對應的業務對

象呢,strutsForm裏默認一個spring中定義的業務對象,或者通過參數service指定,業務方法是參數method指定.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章