凡是接觸net開發的首選要理解的就是三層架構的重要思想關於三層架構的概述 我就不多說了相信大家都早已明白
三層架構(tier application) 就是將整個業務應用劃分為表現層(UI)業務邏輯層(BLL)數據訪問層(DAL)
區分層次的目的即為了高內聚低耦合的思想
1表現層(UI)通俗講就是展現給用戶的界面即用戶在使用一個系統的時候他的所見所得
2業務邏輯層(BLL)針對具體問題的操作也可以說是對數據層的操作對數據業務邏輯處理
3數據訪問層(DAL)該層是直接操作數據庫的針對數據的增添刪除修改更新查找等
各層關系如下圖所示
我進入公司之後所接觸的項目都是建立在十層框架的基礎之上所謂十層框架 其實就是三層架構的具體應用
增加了網絡通訊層實現遠程調用服務端運行著Windowsservice 來產生數據訪問層的對象提供給客戶端請求調用
這樣處理使得整個C/S模式中一旦底層方法發生變動時只需要更新服務器上相應的dll而不需要客戶端主機同步更新
減少了維護成本
下面說下十層架構中每層的作用以及層與層之間的關系
L層即啟動層用來控制畫面層中主畫面的啟動這層最簡單沒有太多代碼
namespace CompanyNameApplicationUI
U層即畫面UI層創建用戶界面namespace CompanyNameApplicationUI
C層即畫面邏輯層處理與畫面相關的邏輯控制封裝下層方法供UI層使用
namespace CompanyNameApplicationController
E層即畫面實體類層根據畫面設計相應的實體類或者枚舉類型
namespace CompanyNameApplicationEntity
A層即業務邏輯層業務邏輯的處理以及上下層之間數據的轉換屬於中間層
namespace CompanyNameApplicationAccess
G層即網絡層也稱遠程調用層獲取遠程服務器上的對象進行遠程調用
namespace CompanyNameApplicationRemotingMediation
O層即接口層定義接口用來規范數據訪問層的方法設計可以對子類進行封箱和拆箱也便於網絡傳輸
namespace CompanyNameApplicationRemotingInterface
D層即數據庫實體類這一層所定義的類是完全按照數據庫中表結構來定義屬性的與E層不同在於
E層類中具有一些類方法比如Clone()Compare()Equals()等而D層則除了get {}set{} 方法之外的額外方法
namespace CompanyNameApplicationRemotingParamData
P層即數據庫邏輯層繼承O層接口封裝R層方法處理一些數據序列化轉換
namespace ThreeHighApplicationRemotingBussiness
R層即數據庫訪問層直接訪問數據庫針對數據的增添刪除修改更新查找等
namespace CompanyNameApplicationRemotingDAO
具體項目中一本程序的框架如下圖所示
因為公司的程序都是與公司的數據庫有關的而且有調用了很多共通的類與方法沒辦法單獨運行所以程序源代碼就不再上傳了
我覺得關鍵的技術主要在遠程調用對象和服務器生成對象
From:http://tw.wingwit.com/Article/program/net/201311/13274.html