1.對於復雜的系統,分層讓代碼結構清晰,便於開發人員對系統進行整體的理解、把握。如果代碼沒有分層,把邏輯都寫在一個方法裡面的代碼就好比是一本沒有目錄的文檔,要找出其中某一節都要對全文遍覽一次。
2.基於第一點,如果代碼層次分明,則便於開發人員維護。系統基本的架構可以通過工具(如動軟代碼生成器)自動生成代碼。當數據庫發生改變時,只需通過生成器重新生成代碼,然後改動業務層中的部分代碼即可。假設使用三層架構模式開發系統時,開發人員可以通過自己的判斷來確定哪一層需要改動。
3.好的架構一旦寫好,那麼不管UI層怎麼變都可以使用,比如開始使用Winform開發的後來變成web了,但是架構的代碼不用變,只是對界面表現進行改動(譬如使用三層架構開發,邏輯層和數據訪問層不變,只是UI層需要做變動)。管理好代碼,使用戶界面邏輯(UI)與業務邏輯(BLL)和數據訪問代碼(DAL)分割開來,這樣才能在將來需要的時候把應用程序遷移到浏覽器上。這也應該算是可移植性的體現吧。
4.開發人員可以節省更多的時間去注重業務的實現,而不必過多考慮數據庫的連接、訪問等其它問題。
--注:以上屬個人參考他人的解析後的理解,如有誤,請指正。