❶ 在三層數據模型中,對現實世界進行第一層抽象的模型,稱為什麼模型
第一層是概念模型。
1、概念模型(Conceptual Data Model),是一種面向用戶、面向客觀世界的模型,主要用來描述世界的概念化結構,它是資料庫的設計人員在設計的初始階段。
2、邏輯模型(Logical Data Model),是一種面向資料庫系統的模型,是具體的DBMS所支持的數據模型。
3、物理模型(Physical Data Model),是一種面向計算機物理表示的模型,描述了數據在儲存介質上的組織結構,它不但與具體的DBMS有關,而且還與操作系統和硬體有關。
❷ 三層架構解析圖文教程
三層架構就是將整個業務應用劃分三層,其主要的目的就是為了高內聚低耦合的思想;架構就是軟體架構,是有關軟體整體結構與組件的抽象描述,主要用於指導大型軟體系統各個方面的設計,它是對對存儲在Active Directory中的對象類別和屬性的描述。
通過幾個問題,來初步的學習一下三層架構
1、什麼是三層架構
在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。三層從下至上分別為:數據訪問層(DAL)、業務邏輯層(BLL)、表示層(UI)。
表現層(UI):展現給用戶的界面,即用戶在使用一個系統的時候他的所見所得。
業務邏輯層(BLL):對數據層的操作,對數據業務邏輯處理。
數據訪問層(DAL):對資料庫的操作,數據的增添、刪除、修改、查找等。
2、應用場景為什麼要用三層架構?
解析:
不是所有的程序都需要使用三層架構,沒必要把簡單的問題復雜化。
先來說一下解耦,舉例:修電腦
電腦硬碟壞了?我們要做的就是換掉電腦硬碟
內存條壞了?只要換內存條就好
這些部件出現問題,都不會影響別的部件的正常使用,這個就是讓他們之間解耦。而和電腦不同的收音機,任何部件壞了,都會影響別的部件,這個體現的就是他們之間的耦合比較高。從這個例子裡面就可以看出解耦的好處,在三層中就是用的解耦的思想。
3、三層作用
數據訪問層:從數據源載入(Select),寫入(Insert/Update),刪除(Delete)數據。僅限於和數據源打交道,讓程序簡單明了。
顯示層(UI):向用戶展現特定業務數據,採集用戶的輸入信息和操作。
原則:用戶至上,兼顧簡潔。
業務邏輯層(BLL):從DAL中獲取數據,以供UI顯示用,從UI中獲取用戶指令和數據,執行業務邏輯、從UI中獲取用戶指令和數據,通過DAL寫入數據源。
4、各個層之間的關系:
UI-BLL-UI:UI提供數據指令到業務邏輯,若自己可以搞定,則直接反饋到UI
UI-BLL-DAL-BLL-DAL:UI提供用戶指令和數據,提出請求並搜集一定的數據BLL,BLL處理不了時
5、三層聯系引用
以登陸為例子,說明三層之間的引用關系:
實體層(entity):定義的用戶名和密碼。
U層:向對應的文本框中輸入賬號和密碼
B層:判斷U層輸入的賬號和密碼是否存在。
D層:連接資料庫的語句,查詢資料庫。
他們之間的聯系是通過實體傳遞來進行的,。
DAL所在程序集不引用BLL和UI
BLL需要引用DAL
UI直接引用DAL,可能引用BLL
非常忌諱互相引用,為了避免這個問題所有出現了實體層(業務數據模型,裡面的數據和資料庫的有所差異)
應用原則:
DAL只提供基本的數據訪問,不包含任何業務相關的邏輯處理。UI只負責顯示和採集用戶操作,不包含任何的業務相關的邏輯處理,BLL負責處理業務邏輯,通過獲取UI傳來的操作指令,決定執行業務邏輯,在需要訪問數據源的時候直接交給DAL處理。處理完成後,返回必要數據給UI。
6、各層是如何調用的
表示層(UI)是用戶需要的界面,用戶有什麼需求都是在這個上面進行的改動,一旦有改動,首先U層向B層發送用戶請求的說明,到達B層,B層再將U層的用戶請求發送到D層,D層接受到用戶請求的指令後,對它進行處理,發送數據反饋到B層,B層再發給U層,將這一變化反應出來。
舉例:
小菜和大鳥吃羊肉串的例子,小菜和大鳥就是用戶,服務員為表示層(U層),烤肉師父為業務邏輯層(U層引用B層的方法或者參數),老闆娘為數據訪問層(D層),負責給烤肉師父從庫房拿烤串。大鳥點了羊肉串5串(參數),服務員把羊肉串5串(參數傳遞)傳遞給烤肉師父(數據請求),烤肉師父再傳遞給老闆娘(對參數進行處理),老闆娘得到請求後,拿羊肉串給烤肉師父(數據反饋),烤肉師父將烤好的羊肉串給服務員(數據反饋),服務員再將5串羊肉串給大鳥(U層展現出來),他們之間通過調用來實現聯系。
7、三層PK二層二層架構:
業務邏輯簡單,沒有真正的數據存儲層
三層架構:
抽象出業務邏輯層,當業務復雜到一定程度,當數據存儲到相應的存儲介質,數據存儲脫離開業務邏輯,把業務邏輯脫離開UI單獨存在,UI只需要呼叫業務訪問層,就可以實現跟用戶的交互。
三層的好處:
1、開發人員可以只關注整個結構中的其中某一層;
2、可以很容易的用新的實現來替換原有層次的實現;
3、可以降低層與層之間的依賴;
4、有利於標准化;
5、利於各層邏輯的復用。
6、結構更加的明確
7、在後期維護的時候,極大地降低了維護成本和維護時間。
這幾點的中心思想就是高內聚,低耦合,類之間的耦合越弱,越有利於復用,一個處在弱耦合的類被修改,不會對有關系的類造成波及。