閱讀760 返回首頁    go 技術社區[雲棲]


三層架構(二)——為什麼要用三層架構?

 

二、為什麼要用三層架構?

     1、分析

      層次結構在現實社會中隨處可見。記得有個笑話講有個村長得意的向他的老婆吹牛:“全中國比我官大的隻有四個人,鄉長、縣長、省長和國務院總理”,這個笑話體現了真實社會的分層現象,社會人群會分層,公司管理人員結構也會分層,

樓房是分層的,甚至做包子的籠屜也是分層的,雖然分層的目的各有不同,但都是為了解決某一問題而產生的,所以分層架構是為了解決某一問題而產生的解決方案。

        社會分工的優勢:讓適合的人做自己最擅長的事情,縮短勞動時間,提高勞動效率。人盡其才,物盡其用。軟件開發也一樣,開發小項目,也許分層與不分層也許看不出多大的差別來,分層可能顯得更加囉嗦,但是當開發一個複雜的項目時,分層的優勢就顯示出來了。

        舉個例子:我們重構機房收費係統,需要進行數據庫的訪問,在不分層的情況下,就會出現大量重複的代碼,無非就是數據庫的增、刪、改、查,這些重複的代碼可以適用於多個模塊,就是字段名和數量不一樣。光敲這些重複的代碼就得花去我們不少的時間,何況我們的機房收費係統還隻是一個不大的項目。如果是一個較大的項目呢?

        

每一個事物有優點必有缺點,分層架構的缺點主要有以下兩點:

        1)、分層也一樣,如果不分層,很多業務可以直接訪問數據庫,獲得數據,而現在卻必須通過中間層來訪問,從而降低了係統運行性能。

        2)、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。

     不過分層架構的利大於弊。


    2、結束語

    在軟件體係架構中,分層式結構是比較容易懂的也是最常見的一個結構,而三層結構又是分層結構裏麵最常見的一種分層方式,也是Microsoft推薦的分層式結構。分層式結構還有其他模式例如MVC,了解和熟悉三層架構之後,學習其他架構會顯得比較容易,讓我們先從最容易理解的學起。

   

最後更新:2017-04-03 06:03:10

  上一篇:go IBM AppScan 安全掃描:加密會話(SSL)Cookie 中缺少 Secure 屬性 處理辦法
  下一篇:go IBM AppScan 安全掃描:支持弱 SSL 密碼套件