工廠模式IDAL具體解釋

2021-09-06 19:15:41 字數 1605 閱讀 2916

idal

一、 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類)必須執行這些新新增的方法!

linux diff具體解釋

diff是unix系統的乙個非常重要的工具程式。它用來比較兩個文字檔案的差異,是 版本號管理的基石之中的乙個。你在命令列下,輸入 diff 變動前的檔案 變動後的檔案 diff就會告訴你,這兩個檔案有何差異。它的顯示結果不太好懂,以下我就來說明,怎樣讀懂diff。一 diff的三種格式 因為歷史原因...

linux select具體解釋

linux select 具體解釋 select 系統呼叫時用來讓我們的程式監視多個檔案控制代碼的狀態變化的。程式會停在 select 這裡等待,直到被監視的檔案控制代碼有乙個或多個發生了狀態改變。關於檔案控制代碼,事實上就是乙個整數,通過 socket 函式的宣告就明確了 int socket i...

htons函式具體解釋

part 1 htons函式具體解釋 在linux和windows網路程式設計時需要用到htons和htonl函式,用來將主機位元組順序轉換為網路位元組順序。在intel機器下,執行以下程式 int main 得到的結果是4096,初一看感覺很怪。解釋如下,數字16的16進製表示為0x0010,數字...