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