把各個功能按調用流程進行了模塊化,模塊化帶來的好處就是能夠隨意組合,舉例說明:若是要註冊一個用戶,流程爲顯示界面並經過界面接收用戶的輸入,接着進行業務邏輯處理,在處理業務邏輯又訪問數據庫,若是咱們將這些步驟所有按流水賬的方式放在一個方法中編寫,這也是能夠的,但這其中的壞處就是,當界面要修改時,因爲代碼全在一個方法內,可能會碰壞業務邏輯和數據庫訪問的碼,一樣,當修改業務邏輯或數據庫訪問的代碼時,也會碰壞其餘部分的代碼。分層就是要把界面部分、業務邏輯部分、數據庫訪問部分的代碼放在各自獨立的方法或類中編寫,這樣就不會出現牽一髮而動全身的問題了。這樣分層後,還能夠方便切換各層,譬如原來的界面是Swing,如今要改爲BS界面,若是最初是按分層設計的,這時候不須要涉及業務和數據訪問的代碼,只需編寫一條web界面就能夠了。web
分層的好處:數據庫
1.實現了軟件之間的解耦;模塊化
2.便於進行分工hibernate
3.便於維護設計
4.提升軟件組件的重用產品
5.便於替換某種產品,好比持久層用的是hibernate,須要更換產品用toplink,就不用該其餘業務代碼,直接把配置一改。class
6.便於產品功能的擴展。擴展
7.便於適用用戶需求的不斷變化軟件