項目經驗的零星總結

 
一.   三層架構的理解與應用
1.1何爲三層架構
   標準的三層架構是用戶接口層(UI),商務邏輯層(BL),數據庫層(DL).
   1.1.1用戶接口層負責用戶的輸入(鼠標,鍵盤,掃描儀等等),輸出(顯示器界面,打印機等等),界面邏輯(實際映射的是工作流,它決定了操作後頁面的跳轉.)業務實體的實體數據在此產生.
   1.1.2 商務邏輯層關注的是商務(業務)邏輯,它將業務邏輯映射到數據控制屬性和實體屬性中去. 在此將輸入數據按照業務邏輯的含義進行處理,然後傳入數據庫層進行存儲或者返回相應數據.它反映的是業務操作對數據產生的影響:根據該操作的業務邏輯意義並結合界面層對該數據的更改重新計算數據的控制屬性和實體屬性..業務實體的控制屬性在此層產生。
              
   1.1.3 數據庫層關注的是數據庫邏輯:建立業務實體到數據庫實體的映射,然後安全,完整地將數據存儲以及取出.數據庫實體在此產生,它也要知道業務實體.數據庫訪問層的意義就是向BL提供業務對象的增,刪,改,查功能。
 
難點在於區分頁面邏輯/業務邏輯/數據庫邏輯,業務實體/數據庫實體.只有很好的區分他們,並且在接口層隔離,才能做到層與層之間的低耦合,儘量將改變限制在一個層裏.
    1.2 三層架構並不是完美的,應該靈活運用,有時商務邏輯很簡單的情況下完全可以只用兩層;也可以借鑑duwamish中推薦的Façade模式,利用一箇中間層來將簡單邏輯與複雜邏輯區分開,分別處理.
    1.3三層之間的數據傳遞.
        輸入時:界面層記錄輸入的數據(一個簡單的判斷原則是若沒有實行計算機化時用戶需要輸入的數據以及計算機化需要額外輸入的數據,主要是業務上需要的信息)
                   ,邏輯層根據業務邏輯處理數據(主要是邏輯控制信息),數據庫層存儲處理後的數據.
       三層之間採用業務實體進行傳輸,應將每個業務實體分爲三部分:界面層輸入部分,業務層控制部分,數據庫層控制部分
二.   系統邊界的定義,數據流的起點和終點
系統邊界一定要定義清楚,這關係到數據流的起點和終點,計算機算法中要求算法是有窮的,若是不滿足上面兩條,就可能造成工作流的無限循環,甚至無法設計.
三.   設計比代碼重要,需求比設計先行,加強溝通
四.   設計中接口數據和方法應該儘量抽象,儘可能保持模塊內的各類似方法結構一致.
(待續..........
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章