假如沒有用分層開發,仔細分析三人的開發過程,很容易發現其中的問題:
>三人排隊式的輪番工作,花費的時間是三人工作時間之和。
>后面開發的人基本都是要先花費時間熟悉前面人的代碼,否則開發難以繼續。
>以前的相似甚至是功能完全相同的代碼難以重用、移植、因為數據顯示和處理邏輯的代碼摻雜在一起了。
>需求上要求的大部分功能早就實現過,只顯示的方式不同,結果全部代碼都全部代碼都重新開發一遍。這實在不符合面向對象開發的一個重要的原則――可重用性。
根據面向對象設計(OOD)中的“單一職責(Single Responsibility Priinciple)”原則,類的設計要保持內聚性,不要負責太多不想干的功能。
分層架構:
>數據訪問層:這一層處於最底層,負責與數據庫的交互,也稱為DAL(Data Access Layer)。
>表示層:這一層直接和用戶打交道,負責顯示或獲取數據,也稱為UI層(User Interface Layer)。無論使用控制台還是Windows窗體顯示數據,都是表示層的一種的應用。
表示層依賴於數據訪問層,兩層職能分開,協助工作,其依賴關系。
分層開發的優勢和特點:
>代碼復用
>分離開發人員的關注
>無損替換
降低程序間的依賴