760
技術社區[雲棲]
三層架構(二)——為什麼要用三層架構?
二、為什麼要用三層架構?
1、分析
層次結構在現實社會中隨處可見。記得有個笑話講有個村長得意的向他的老婆吹牛:“全中國比我官大的隻有四個人,鄉長、縣長、省長和國務院總理”,這個笑話體現了真實社會的分層現象,社會人群會分層,公司管理人員結構也會分層,
樓房是分層的,甚至做包子的籠屜也是分層的,雖然分層的目的各有不同,但都是為了解決某一問題而產生的,所以分層架構是為了解決某一問題而產生的解決方案。
社會分工的優勢:讓適合的人做自己最擅長的事情,縮短勞動時間,提高勞動效率。人盡其才,物盡其用。軟件開發也一樣,開發小項目,也許分層與不分層也許看不出多大的差別來,分層可能顯得更加囉嗦,但是當開發一個複雜的項目時,分層的優勢就顯示出來了。
舉個例子:我們重構機房收費係統,需要進行數據庫的訪問,在不分層的情況下,就會出現大量重複的代碼,無非就是數據庫的增、刪、改、查,這些重複的代碼可以適用於多個模塊,就是字段名和數量不一樣。光敲這些重複的代碼就得花去我們不少的時間,何況我們的機房收費係統還隻是一個不大的項目。如果是一個較大的項目呢?
每一個事物有優點必有缺點,分層架構的缺點主要有以下兩點:
1)、分層也一樣,如果不分層,很多業務可以直接訪問數據庫,獲得數據,而現在卻必須通過中間層來訪問,從而降低了係統運行性能。
2)、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。
不過分層架構的利大於弊。
2、結束語
在軟件體係架構中,分層式結構是比較容易懂的也是最常見的一個結構,而三層結構又是分層結構裏麵最常見的一種分層方式,也是Microsoft推薦的分層式結構。分層式結構還有其他模式例如MVC,了解和熟悉三層架構之後,學習其他架構會顯得比較容易,讓我們先從最容易理解的學起。
最後更新:2017-04-03 06:03:10