工厂模式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具体解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《深入Java虚拟机》笔记
- 下一篇: 像这样的作业调度器,你会怎么设计?