DAL是指Data Access Layer,DALFactory是用於創建數據訪問對象的工廠,本質上是採用了抽象工廠的設計模式,目的是支持多種數據訪問層,比如sql server和oracle兩種實現;同時又利用了.net的反射機制,通過配置文件即可確定採用哪種數據訪問實現;IDAL是數據訪問層接口,這樣做的好處是使業務邏輯層調用數據訪問層的接口即可實現數據庫的增刪改等操作,業務邏輯層與數據訪問層是一種抽象依賴的關係,而非具體依賴。我覺得明白這些,首先需要有編程的經驗,要明白接口、抽象類等的作用,再研究設計模式和軟件架構。可以上博客園、csdn什麼的多看看這方面的資料唄。
1、WEB=表示層
2、BLL=業務邏輯層
3、IDAL=數據訪問層接口定義
4、Model=業務實體
5、DALFactory=數據層的抽象工廠(創建反射)
6、SQLServerDAL=SQLServer數據訪問層 / OracleDAL=Oracle數據訪問層
DBUtility 數據庫訪問組件基礎類
二、項目引用關係
1、Web 引用 BLL。
2、BLL 引用 IDAL,Model,使用DALFactory創建實例。
3、IDAL 引用 Model。
4、Model 無引用。
5、DALFactory 引用IDAL,通過讀取web.config裏設置的程序集,加載類的實例,返回給BLL使用。
6、SQLServerDAL 引用 Model和IDAL,被DALFactory加載的程序集,實現接口裏的方法。
三、實現步驟
1、創建Model,實現業務實體。
2、創建IDAL,實現接口。
3、創建SQLServerDAL,實現接口裏的方法。
4、增加web.config裏的配置信息,爲SQLServerDAL的程序集。
5、創建DALFactory,返回程序集的指定類的實例。
6、創建BLL,調用DALFactory,得到程序集指定類的實例,完成數據操作方法。
7、創建WEB,調用BLL裏的數據操作方法。
注意:
1、web.config裏的程序集名稱必須與SQLServerDAL裏的輸出程序集名稱一致。
2、DALFactory裏只需要一個DataAccess類,可以完成創建所有的程序集實例。
3、項目創建後,注意修改各項目的默認命名空間和程序集名稱。
4、注意修改解決方案裏的項目依賴。
5、注意在解決方案裏增加各項目引用。