資料介面層 IDAL

2021-05-21 21:48:28 字數 2492 閱讀 3100

一、

idal主要功能:

1、這完全是

「工廠模式

」的一部分實現而已 2、

這是一組介面類,其中包括了每個要公開的資料訪問方法。為每個資料庫產品單獨編寫的

dal(資料訪問層)都要實現這組介面所定義的方法 3、

也就是規定了在

dal中編寫的

「對使用者賬號進行操作的類

」所必須執行的方法! 4、

idal

要達到的目的是:實現業務邏輯(

bll)與資料庫訪問(

dal)的完全分離!!! 5、

idal

各個類(

idal

資料夾中的各個檔案)劃分或者說編制的原則,更趨向於

「將對資料庫的不同操作進行歸類

」,考慮的主要方面是資料庫操作!!!例如,有對使用者賬號進行的一系列資料庫操作,則將這一系列操作統一放置於

iaccount

介面(將來實現後的

account

類)檔案當中

二、

實現細節:

1、iaccount.cs

檔案:為針對不同資料庫產品編寫的

「操作使用者賬號的類

」所必須實現的一系列方法定義契約 2、

iinventory.cs

檔案:定義

「操作庫存量的類

」所必須實現的一系列方法;或者說將操作庫存量的一系列(所有)方法做乙個彙總 3、

iitem.cs

檔案:定義

「操作某一

item的類」

所必須實現的一系列方法。(

item

在model

中定義了,是指具體某一類別的

product

,如男貓或女貓) 4、

對於其中的

getitemsbyproduct()

方法,返回的是乙個

arraylist

的介面型別(

ilist

)的物件(見問題部分!) 5、

iorder.cs

檔案:定義了一組

dal層中

「操作使用者訂單的類

」必須執行的方法。其中包括

「新增一張新訂單

」的方法

insert()

和根據乙個已有的訂單號取得此訂單詳細資訊的方法

getorder()

,此方法返回的是乙個

orderinfo

物件。(

model

中的orderinfo

類模型定義了使用者的某一張

order

中相關的資訊,如發貨地點,總價,信用卡號碼等等) 6、

iproduct.cs

檔案:定義類一組在

dal層中編寫的「對

product

進行操作的類」

7、iprofile.cs

檔案:定義一組在

dal層編寫的「對使用者

profile

進行操作的類」

三、

啟發:

1、這樣就可以讓在

bll層只針對

idal

層定義的介面進行程式設計(使用

idal

介面定義的這些方法)就可以了!!!無論在底層使用了什麼廠家的資料庫產品,有區別的只是針對此資料庫產品編寫的

dal層(相同的方法,如

signin()

方法,對於不同的資料庫產品,可能有不同的實現方式!),而不會影響到上層的

bll層已經編寫好的內容! 2、

從這裡可以看到軟體架構師和程式設計師工作上的區別!架構師要負責的是搭建系統的層次結構,定義介面;而程式設計師要負責的是針對介面的具體**實現過程! 3、

這個idal

介面的使用,主要是為了保證在底層資料庫實現,甚至資料庫產品發生變化的時候,不需要對上層

bll層的業務邏輯進行大量的修改!

bll層針對

idal

介面程式設計即可!!! 4、

idal

資料夾中定義的所有的介面中的所有的方法,包括了整個程式要對資料庫進行操作的所有方法 5、

由於petshop

只是乙個演示程式,所以若對資料庫操作的某一類別(如對

account

進行操作)中定義的

「操作類

」不夠用(如除了介面中定義的幾個方法外還需要其他

account

操作),還可以在介面中追加其他的方法,用以約束

dal層的實現類(如

account

類)必須執行這些新增加的方法!

介面層輸出

每個cpu有乙個單獨的softnet data例項,用來儲存與網路中斷處理相關的報文輸出和輸出佇列。在輸出過程中會用到softnet data中的output queue和completion queue佇列。incoming packets are placed on per cpu queues...

網路介面層

網路介面層對應osi的資料鏈路層,物理層。資料鏈路層分為 mac子層 介質訪問控制層。完成幀的封裝與拆封,物理介質傳輸差錯的檢測 定址,實現介質訪問控制協議。llc子層 邏輯鏈路層。連線管理 建立和釋放連線 是與高層的介面,保證幀的可靠性,按序傳輸激流量控制。邏輯上的資料傳輸控制,作為一種資料傳輸思...

網路介面層

本文參考 計算機網路 第七版 謝希仁編著,博文僅供學習使用,用來記錄筆記 網路介面層包括資料鏈路層和物理層。物理層考慮的是怎樣才能在連線各種計算機的傳輸 上傳輸資料位元流,而不是指具體的傳輸 物理層的作用正是要盡可能地遮蔽掉這些傳輸 和通訊手段的差異,使物理層上面的資料鏈路層感覺不到這些差異。物理層...