Web系統的三層架構()
三層架構的種類
目前團隊開發人員在開發項目時大多都使用分層開發架構設計最常見的就是三層架構工作模式如圖所示目的在於使各個層之間只能夠被它相鄰的層所影響但是在使用多層開發的時候常常違反這個限制這對系統的開發是有害的三層架構按驅動模式可分為三種數據層驅動模式陳述層驅動模式隔離驅動模式其中隔離驅動模式開發最為重要
圖 工作模式圖
數據層驅動模式
所謂數據層驅動模式就是先設計數據層陳述層圍繞數據層展開一旦完成了數據層和陳述層業務層就圍繞數據層展開因為陳述層是圍繞數據層展開的這將會使陳述層中的約束不准確並且限制了業務層的變更由於業務層受到限制一些簡單變化可以通過SQL查詢和存儲過程來實現數據層驅動模式設計圖如圖所示
圖 數據層驅動模式設計
這種模式非常普遍它和傳統的客戶服務端開發相似並且是圍繞已經存在的數據庫設計的由於陳述層是圍繞數據層設計的它常常是憑直覺模仿數據層的實際結構
在陳述層與數據層之間常常存在一種額外的反饋循環即在設計陳述層不容易實現的時候會去修改數據層也就形成了這種反饋循環開發者請求修改數據庫以便於陳述層的開發但是這對數據層的設計卻是有害的這種改變是人為的而沒考慮到其他需求的限制這種修改經常會違反或損害數據的特有規則導致不必要的數據冗余和數據的非標准化
陳述層驅動模式
陳述層驅動模式是數據層圍繞陳述層展開業務層的完成一般是通過簡單的SQL查詢和很少的變化或者隔離由於數據庫的設計圍繞陳述層並非從數據層設計方面考慮所以數據庫的設計在性能上通常很低陳述層驅動模式設計圖如圖所示
圖 陳述層驅動模式設計
隔離驅動模式
在隔離驅動模式設計中陳述層和數據層被獨立開發常常是平行開發這兩層在設計時沒有任何的相互干擾所以不會存在人為的約束和有害的設計元素當兩層都設計完成後再設計業務層業務層的責任就是在沒有對數據層和陳述層的需求變化的基礎上完成所有的轉換
因為陳述層和數據層是完全獨立的當業務層需求改變的時候陳述層和數據層都可以做相應的修改而不影響對方改變兩個在物理上不相鄰的層不會直接對其他層產生影響或發生沖突這就允許數據層結構的調整或者陳述層根據用戶的需求做相應的變化而不需要系統做大的調整或者修改隔離驅動模式如圖所示表對這種驅動模式進行了對比
圖 隔離驅動模式設計
表 種驅動模式對比
綜上所述很容易看出隔離驅動模式的優點它可以極大地提高程序的擴展性
返回目錄ASPNET開發寶典
編輯推薦
ASP NET開發培訓視頻教程
Microsoft NET框架程序設計視頻教程
ASPNET MVC 框架揭秘
Java Web開發詳解
From:http://tw.wingwit.com/Article/program/net/201311/16057.html