欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

三層架構(gòu)解析圖文教程

  發(fā)布時(shí)間:2016-07-18 14:38:57   作者:佚名   我要評論
其實(shí)三層架構(gòu)就是使用類,三層所指的就是:1.界面層2.數(shù)據(jù)庫訪問層3.業(yè)務(wù)邏輯層,而這三層都是為一個(gè)層服務(wù)的是

三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分三層,其主要的目的就是為了“高內(nèi)聚低耦合”的思想;架構(gòu)就是軟件架構(gòu),是有關(guān)軟件整體結(jié)構(gòu)與組件的抽象描述,主要用于指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì),它是對對存儲(chǔ)在Active Directory中的對象類別和屬性的描述。

通過幾個(gè)問題,來初步的學(xué)習(xí)一下三層架構(gòu)

1、什么是三層架構(gòu)

在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。三層從下至上分別為:數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層(BLL)、表示層(UI)。

表現(xiàn)層(UI):展現(xiàn)給用戶的界面,即用戶在使用一個(gè)系統(tǒng)的時(shí)候他的所見所得。

業(yè)務(wù)邏輯層(BLL):對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理。

數(shù)據(jù)訪問層(DAL):對數(shù)據(jù)庫的操作,數(shù)據(jù)的增添、刪除、修改、查找等。

2、應(yīng)用場景——為什么要用三層架構(gòu)?

解析:

不是所有的程序都需要使用三層架構(gòu),沒必要把簡單的問題復(fù)雜化。

先來說一下解耦,舉例:修電腦

電腦硬盤壞了?我們要做的就是換掉電腦硬盤

內(nèi)存條壞了?只要換內(nèi)存條就好

這些部件出現(xiàn)問題,都不會(huì)影響別的部件的正常使用,這個(gè)就是讓他們之間解耦。而和電腦不同的收音機(jī),任何部件壞了,都會(huì)影響別的部件,這個(gè)體現(xiàn)的就是他們之間的耦合比較高。從這個(gè)例子里面就可以看出解耦的好處,在三層中就是用的解耦的思想。

3、三層作用

數(shù)據(jù)訪問層:從數(shù)據(jù)源加載(Select),寫入(Insert/Update),刪除(Delete)數(shù)據(jù)。僅限于和數(shù)據(jù)源打交道,讓程序簡單明了。

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

原則:用戶至上,兼顧簡潔。

業(yè)務(wù)邏輯層(BLL):從DAL中獲取數(shù)據(jù),以供UI顯示用,從UI中獲取用戶指令和數(shù)據(jù),執(zhí)行業(yè)務(wù)邏輯、從UI中獲取用戶指令和數(shù)據(jù),通過DAL寫入數(shù)據(jù)源。

4、各個(gè)層之間的關(guān)系:

UI->BLL->UI:UI提供數(shù)據(jù)指令到業(yè)務(wù)邏輯,若自己可以搞定,則直接反饋到UI

UI->BLL->DAL->BLL->DAL:UI提供用戶指令和數(shù)據(jù),提出請求并搜集一定的數(shù)據(jù)BLL,BLL處理不了時(shí)

5、三層聯(lián)系——引用

以登陸為例子,說明三層之間的引用關(guān)系:

實(shí)體層(entity):定義的用戶名和密碼。

U層:向?qū)?yīng)的文本框中輸入賬號(hào)和密碼

B層:判斷U層輸入的賬號(hào)和密碼是否存在。

D層:連接數(shù)據(jù)庫的語句,查詢數(shù)據(jù)庫。

他們之間的聯(lián)系是通過實(shí)體傳遞來進(jìn)行的,。

DAL所在程序集不引用BLL和UI

BLL需要引用DAL

UI直接引用DAL,可能引用BLL

非常忌諱互相引用,為了避免這個(gè)問題所有出現(xiàn)了實(shí)體層(業(yè)務(wù)數(shù)據(jù)模型,里面的數(shù)據(jù)和數(shù)據(jù)庫的有所差異)

應(yīng)用原則:

DAL只提供基本的數(shù)據(jù)訪問,不包含任何業(yè)務(wù)相關(guān)的邏輯處理。UI只負(fù)責(zé)顯示和采集用戶操作,不包含任何的業(yè)務(wù)相關(guān)的邏輯處理,BLL負(fù)責(zé)處理業(yè)務(wù)邏輯,通過獲取UI傳來的操作指令,決定執(zhí)行業(yè)務(wù)邏輯,在需要訪問數(shù)據(jù)源的時(shí)候直接交給DAL處理。處理完成后,返回必要數(shù)據(jù)給UI。

6、各層是如何調(diào)用的

表示層(UI)是用戶需要的界面,用戶有什么需求都是在這個(gè)上面進(jìn)行的改動(dòng),一旦有改動(dòng),首先U層向B層發(fā)送用戶請求的說明,到達(dá)B層,B層再將U層的用戶請求發(fā)送到D層,D層接受到用戶請求的指令后,對它進(jìn)行處理,發(fā)送數(shù)據(jù)反饋到B層,B層再發(fā)給U層,將這一變化反應(yīng)出來。

舉例:

小菜和大鳥吃羊肉串的例子,小菜和大鳥就是用戶,服務(wù)員為表示層(U層),烤肉師父為業(yè)務(wù)邏輯層(U層引用B層的方法或者參數(shù)),老板娘為數(shù)據(jù)訪問層(D層),負(fù)責(zé)給烤肉師父從庫房拿烤串。大鳥點(diǎn)了羊肉串5串(參數(shù)),服務(wù)員把羊肉串5串(參數(shù)傳遞)傳遞給烤肉師父(數(shù)據(jù)請求),烤肉師父再傳遞給老板娘(對參數(shù)進(jìn)行處理),老板娘得到請求后,拿羊肉串給烤肉師父(數(shù)據(jù)反饋),烤肉師父將烤好的羊肉串給服務(wù)員(數(shù)據(jù)反饋),服務(wù)員再將5串羊肉串給大鳥(U層展現(xiàn)出來),他們之間通過調(diào)用來實(shí)現(xiàn)聯(lián)系。

7、三層PK二層二層架構(gòu):

業(yè)務(wù)邏輯簡單,沒有真正的數(shù)據(jù)存儲(chǔ)層

三層架構(gòu):

抽象出業(yè)務(wù)邏輯層,當(dāng)業(yè)務(wù)復(fù)雜到一定程度,當(dāng)數(shù)據(jù)存儲(chǔ)到相應(yīng)的存儲(chǔ)介質(zhì),數(shù)據(jù)存儲(chǔ)脫離開業(yè)務(wù)邏輯,把業(yè)務(wù)邏輯脫離開UI單獨(dú)存在,UI只需要呼叫業(yè)務(wù)訪問層,就可以實(shí)現(xiàn)跟用戶的交互。

三層的好處:

1、開發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層;

2、可以很容易的用新的實(shí)現(xiàn)來替換原有層次的實(shí)現(xiàn);

3、可以降低層與層之間的依賴;

4、有利于標(biāo)準(zhǔn)化;

5、利于各層邏輯的復(fù)用。

6、結(jié)構(gòu)更加的明確

7、在后期維護(hù)的時(shí)候,極大地降低了維護(hù)成本和維護(hù)時(shí)間。

這幾點(diǎn)的中心思想就是“高內(nèi)聚,低耦合”,類之間的耦合越弱,越有利于復(fù)用,一個(gè)處在弱耦合的類被修改,不會(huì)對有關(guān)系的類造成波及。

以上就是腳本之家為大家講解的對三層的簡單認(rèn)識(shí), 想了解更多精彩教程請繼續(xù)關(guān)注腳本之家網(wǎng)站!

相關(guān)文章

最新評論