淺談三層框架一些簡單的認識
三層框架很多人都接觸過,本文是筆者的一些經驗和體會。希望能對大家了解三層框架有所幫助。框架的作用在于簡化開發和標準化開發,為框架而框架,似乎有點得不償失。
心中一直構想的寫一個擴展性比較好的簡單的三層框架,在網上看到過很多關于類似的文章,感覺在實際項目中并不適用。最近呢,也一直在研究微軟的PetShop4.0,于是心中產生的一個簡單三層框架的雛形,歡迎圈內人士批評指教。
UI:一般都構建動態的頁面,采用JQUery和HttpModule
WebServvices:是對其他語言開放的接口,比如:java,php,或者C++應用程序
SqlDependency:是新學的東西,保持緩存和數據庫同步,按標準來說其屬于BLL層的一部分或者更高的一種抽象。像UI和WebServices提供數據。
BLLFactory:業務邏輯層。進行數據驗證,權限判斷,數據庫過濾的作用。
DALFactory:數據庫訪問工廠,僅提供所需的數據,不做任何處理。處理在BLL層。
我感覺此框架的優點:
Inferface:各層之間都用接口提供契約。
(1):有緩存,而且是緩存和數據庫能保持同步
(2):擴展性很強。比如:UI層要改成PHP,JSP或者C++應用程序,直接調用WebServices.
(3):各層之間實現了弱依賴。比如:要做數據庫遷移,只修改DAL層就可以了。不影響其他的變化。
(4):開發軟件最怕需求變化,而我們把幾乎全部的業務邏輯都封裝在BLL層,DAL只提供數據。只要接口不變,修改BLL層中的邏輯就可以了。
(5):可以分層部署:DB放一個服務器,WebServices:一服務器,UI:另一服務器。
本文來自楊歡歡的博客園文章《初學者對于三層框架的理解》
【編輯推薦】