分層式結(jié)構(gòu)究竟其優(yōu)勢何在?
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
分層式結(jié)構(gòu)究竟其優(yōu)勢何在?Martin Fowler在《Patterns of Enterprise Application Architecture》一書中給出了答案:
1、開發(fā)人員可以只關注整個結(jié)構(gòu)中的其中某一層; 2、可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn); 3、可以降低層與層之間的依賴; 4、有利于標準化; 5、利于各層邏輯的復用。 概括來說,分層式設計可以達至如下目的:分散關注、松散耦合、邏輯復用、標準定義。 一個好的分層式結(jié)構(gòu),可以使得開發(fā)人員的分工更加明確。一旦定義好各層次之間的接口,負責不同邏輯設計的開發(fā)人員就可以分散關注,齊頭并進。例如UI人員只需考慮用戶界面的體驗與操作,領域的設計人員可以僅關注業(yè)務邏輯的設計,而數(shù)據(jù)庫設計人員也不必為繁瑣的用戶交互而頭疼了。每個開發(fā)人員的任務得到了確認,開發(fā)進度就可以迅速的提高。 松散耦合的好處是顯而易見的。如果一個系統(tǒng)沒有分層,那么各自的邏輯都緊緊糾纏在一起,彼此間相互依賴,誰都是不可替換的。一旦發(fā)生改變,則牽一發(fā)而動全身,對項目的影響極為嚴重。降低層與層間的依賴性,既可以良好地保證未來的可擴展,在復用性上也是優(yōu)勢明顯。每個功能模塊一旦定義好統(tǒng)一的接口,就可以被各個模塊所調(diào)用,而不用為相同的功能進行重復地開發(fā)。 進行好的分層式結(jié)構(gòu)設計,標準也是必不可少的。只有在一定程度的標準化基礎上,這個系統(tǒng)才是可擴展的,可替換的。而層與層之間的通信也必然保證了接口的標準化。 “金無足赤,人無完人”,分層式結(jié)構(gòu)也不可避免具有一些缺陷: 1、降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結(jié)構(gòu),很多業(yè)務可以直接造訪數(shù)據(jù)庫,以此獲取相應的數(shù)據(jù),如今卻必須通過中間層來完成。 2、有時會導致級聯(lián)的修改。這種修改尤其體現(xiàn)在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結(jié)構(gòu),可能需要在相應的業(yè)務邏輯層和數(shù)據(jù)訪問層中都增加相應的代碼。 該文章在 2011/1/8 15:33:18 編輯過 |
關鍵字查詢
相關文章
正在查詢... |