日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

三层基础知识梳理

發(fā)布時間:2025/6/15 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层基础知识梳理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在沒學(xué)習(xí)三層之前,我的“今目標”中的項目名稱是MVC分層。有一段時間我搞不清這兩個是什么概念,有何不同,我找了一些資料,現(xiàn)在還不能很好地理解。先分享一下。

三層架構(gòu)是界面層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)構(gòu)成的,而MVC是模型層(M)、界面層(View)、控制層(Controller)構(gòu)成的,而且它們之間也不對應(yīng)。如果硬要給他們對應(yīng)的話,那么三層架構(gòu)中的UI對應(yīng)MVC中的view(jsp),都是用于顯示以及獲取界面的數(shù)據(jù);三層架構(gòu)中的BLL層和DAL層對應(yīng)MVC中的Model(javabean)層都是用于處理上層傳遞來的數(shù)據(jù)以及從數(shù)據(jù)庫獲取的數(shù)據(jù)的;MVC中的Controller(Servlet)最多算是三層架構(gòu)中的UI的一部分,也就我們常說的是Servlet。如圖:

這兩者核心的部分是“分層,解耦”。從這個角度看,三層架構(gòu)和MVC又是一致的,只不過劃分方法不同。

下面是我對三層基本知識的梳理。

1:每一層是什么以及有什么作用。

U層(顯示層---User Interface):向用戶展現(xiàn)特定業(yè)務(wù)數(shù)據(jù),采集用戶的輸入信息和操作。

B層(業(yè)務(wù)邏輯層---Business Logic Layer):從DAL中獲取數(shù)據(jù),以供UI顯示用;從UI中獲取用戶指令和數(shù)據(jù),執(zhí)行業(yè)務(wù)邏輯;從UI中獲取用戶指令和數(shù)據(jù),通過DAL寫入數(shù)據(jù)源。B層的職責(zé)機制有兩種:一種是UI--->BLL--->UI;另一種為UI--->BLL--->DAL---BLL--->UI.

D層(數(shù)據(jù)訪問層---Data Access Layer):從數(shù)據(jù)源加載數(shù)據(jù);向數(shù)據(jù)源寫入數(shù)據(jù);從數(shù)據(jù)源刪除數(shù)據(jù)。這里的數(shù)據(jù)源不一定是數(shù)據(jù)庫,還可以是XML。

此外:還有一個業(yè)務(wù)數(shù)據(jù)模型,比較傾向于業(yè)務(wù)邏輯層。封裝數(shù)據(jù)。在三層之間傳送數(shù)據(jù)的。獨立于其他三個層次。model不會引用其他三個程序集。而其他都引用model。

2.在具體項目中的應(yīng)用原則:

U層:只負責(zé)采集和顯示用戶操作,不包含任何的業(yè)務(wù)相關(guān)的邏輯處理。

B層:負責(zé)處理業(yè)務(wù)邏輯。通過獲取UI傳來的操作指令,決定執(zhí)行業(yè)務(wù)邏輯,在需要訪問數(shù)據(jù)源的時候直接交給DAL處理,處理完成后,返回必要數(shù)據(jù)給UI。

D層:只提供基本的數(shù)據(jù)訪問,不包含任何相關(guān)的業(yè)務(wù)處理。

3.各層的引用關(guān)系:

UI--->BLL--->DAL

UI直接引用BLL,可能會間接地引用DAL;BLL需要引用DAL;DAL程序集不引用BLL和UI。

當(dāng)然要想真正的明白,還需要在實踐中練習(xí)。實例練習(xí)請見下一篇博客。

總結(jié)

以上是生活随笔為你收集整理的三层基础知识梳理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。