日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 簡析三層架構

簡析三層架構

來源:程序員人生   發布時間:2014-11-13 08:39:47 閱讀次數:3640次

3層架構――3-tier architecture

通過幾個問題,來初步的學習1下3層架構。
1、甚么是3層架構
2、利用場景――為何要用3層架構?
3、3層作用
4、各個層之間的關系
5、3層聯系――援用
6、各層是如何調用的
7、3層和2層的對照
這幾個都是學習3層中最基本的問題,只有把這些問題弄清楚,才算是打開了3層的門。


1、甚么是3層架構

在軟件體系架構設計中,分層式結構是最多見,也是最重要的1種結構。3層從下至上分別為:數據訪問層(DAL)、業務邏輯層(BLL)、表示層(UI)。



 表現層(UI):展現給用戶的界面,即用戶在使用1個系統的時候他的所見所得。

業務邏輯層(BLL):對數據層的操作,對數據業務邏輯處理。

數據訪問層(DAL):對http://www.jyygyx.com/db/的操作,數據的增加、刪除、修改、查找等。


2、利用場景――為何要用3層架構?

為何要用3層架構?

解耦!

不是所有的程序都需要使用3層架構,沒必要把簡單的問題復雜化。

先來講1下解耦,舉例:修電腦

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

內存條壞了?只要換內存條就好

這些部件出現問題,都不會影響別的部件的正常使用,這個就是讓他們之間解耦。而和電腦不同的收音機,任何部件壞了,都會影響別的部件,這個體現的就是他們之間的耦合比較高。從這個例子里面就能夠看出解耦的好處,在3層中就是用的解耦的思想。

 

 

3、3層作用

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

顯示層(UI):向用戶展現特定業務數據,收集用戶的輸入信息和操作。

原則:用戶至上,統籌簡潔。

業務邏輯層(BLL):從DAL中獲得數據,以供UI顯示用,從UI中獲得用戶指令和數據,履行業務邏輯、從UI中獲得用戶指令和數據,通過DAL寫入數據源。

 

4、各個層之間的關系:

UI->BLL->UI:UI提供數據指令到業務邏輯,若自己可以弄定,則直接反饋到UI

UI->BLL->DAL->BLL->DAL:UI提供用戶指令和數據,提出要求并搜集1定的數據BLL,BLL處理不了時,要訪問數據源,則轉給DAL



5、3層聯系――援用

以登陸為例子,說明3層之間的援用關系:

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

U層:向對應的文本框中輸入賬號和密碼

B層:判斷U層輸入的賬號和密碼是不是存在。

D層:連接http://www.jyygyx.com/db/的語句,查詢http://www.jyygyx.com/db/。

他們之間的聯系是通過實體傳遞來進行的,。

 

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

BLL需要援用DAL

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

非常忌諱相互援用,為了不這個問題所有出現了實體層(業務數據模型,里面的數據和http://www.jyygyx.com/db/的有所差異)

利用原則:

DAL只提供基本的數據訪問,不包括任何業務相干的邏輯處理。UI只負責顯示和收集用戶操作,不包括任何的業務相干的邏輯處理,BLL負責處理業務邏輯,通過獲得UI傳來的操作指令,決定履行業務邏輯,在需要訪問數據源的時候直接交給DAL處理。處理完成后,返回必要數據給UI。

 

6、各層是如何調用的

表示層(UI)是用戶需要的界面,用戶有甚么需求都是在這個上面進行的改動,1旦有改動,首先U層向B層發送用戶要求的說明,到達B層,B層再將U層的用戶要求發送到D層,D層接遭到用戶要求的指令后,對它進行處理,發送數據反饋到B層,B層再發給U層,將這1變化反應出來。

 

舉例:

小菜和大鳥吃羊肉串的例子,小菜和大鳥就是用戶,服務員為表示層(U層),烤肉師父為業務邏輯層(U層援用B層的方法或參數),老板娘為數據訪問層(D層),負責給烤肉師父從庫房拿烤串。大鳥點了羊肉串5串(參數),服務員把羊肉串5串(參數傳遞)傳遞給烤肉師父(數據要求),烤肉師父再傳遞給老板娘(對參數進行處理),老板娘得到要求后,拿羊肉串給烤肉師父(數據反饋),烤肉師父將烤好的羊肉串給服務員(數據反饋),服務員再將5串羊肉串給大鳥(U層展現出來),他們之間通過調用來實現聯系。

 

7、3層PK2層

2層架構:

業務邏輯簡單,沒有真實的數據存儲層

3層架構:

抽象出業務邏輯層,當業務復雜到1定程度,當數據存儲到相應的存儲介質,數據存儲脫離開業務邏輯,把業務邏輯脫離開UI單獨存在,UI只需要呼喚業務訪問層,就能夠實現跟用戶的交互。

3層的好處:

1、開發人員可以只關注全部結構中的其中某1層;

2、可以很容易的用新的實現來替換原有層次的實現;

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

4、有益于標準化;

5、利于各層邏輯的復用。

6、結構更加的明確

7、在后期保護的時候,極大地下降了保護本錢和保護時間。

 

這幾點的中心思想就是“高內聚,低耦合”,類之間的耦合越弱,越有益于復用,1個處在弱耦合的類被修改,不會對有關系的類造成波及。

 以上是對3層的簡單認識,有的地方可能寫的不對,歡迎指出!

 

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品久久久久久久久久久久久 | 午夜精品福利一区二区三区蜜桃 | 精品美女久久久久久免费 | 国产一区二区三区的电影 | 国产一区二区三区免费观看在线 | 免费的黄色| 日韩h| 成人黄色电影在线观看 | 国产精品久久综合 | 欧美日韩电影一区二区 | 国产高清在线观看 | 中文字幕一区二区三区四区 | 天堂网2021 | www.黄色com | 亚洲综合色自拍一区 | 日韩精品免费观看 | 香蕉一区二区 | 一本色道精品久久一区二区三区 | 成人av在线网站 | www.色网| 欧美一区二区久久久 | 国产精品久久久久久久9999 | 久久伊人av | 日本a在线 | 不卡的av在线播放 | 久久国产精品久久久久久 | 免费观看污污视频 | 国产丝袜一区二区三区免费视频 | 国产精品高 | 国产一区二区三区在线视频 | 日本高清视频在线 | 免费成人高清 | av无遮挡 | 亚洲一区二区三区精品在线 | 一区二区三区中文字幕 | 国产精品久久久久久网站 | 亚洲视频在线视频 | 国产视频在线看 | 美女视频一区 | 国产日韩久久 | 亚洲精品一区二区三 |