日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

工厂模式IDAL具体解释

發布時間:2025/3/13 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工厂模式IDAL具体解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

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類)必須運行這些新添加的方法!

轉載于:https://www.cnblogs.com/mfrbuaa/p/4069159.html

總結

以上是生活随笔為你收集整理的工厂模式IDAL具体解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。