其實三層架構是一個程序最基本的 在.Net開發中通常是多層開發
比如說
BLL 就是business Logic laywer(業務邏輯層) 他只負責向數據提供者也就是DAL調用數據 然后傳遞給 客戶程序也就是UI
DAL就是(data access laywer)數據訪問層 ,負責 對實體也就是數據庫相應表的增刪改查
IDAL它體現了“抽象”的精神,或者說是“面向接口編程”的最佳體現。抽象的接口模塊(IDAL)
Model: 實體層數據庫中表的映射,一般有幾個表就有幾個實體類
DBUtility: 數據庫應用層
common:常用處理組件層
web:(Web)網站項目
在程序中調用BLL,BLL中調用DAL
創建方法:
菜單-》文件-》新增-》新建項目
然后可以選擇建立一個類庫,也就是BLL,DAL。
如果要新建網站的話同理。
建立之后可以在一個項目中引用某個類庫,注意引用順序。引用完成后就可以查看項目依賴項的依賴關系了
ASP.NET里的三層架構感覺類似於J2EE里的MVC模式
也就是把結構分層為
Model層(負責與后台數據通信一般用LINQ)
View層(負責前台的表現)
Control層(負責業務邏輯的處理).
既然是三層,肯定在物理邏輯上就要進行區分的,因此在項目文件夾下,有WebUI、BLL、DAL、Common這四個文件夾和Default.aspx等首頁文件,其實最主要的就是前三個文件夾,
Common文件夾里保存了一些樣式文件和JS文件,個人感覺這些文件可以放到WebUI里的。o(∩_∩)o...,這幾個文件夾用來作什么應該從命名上能看出來吧?
WebUI用來保存頁面文件,也就是大家在瀏覽網頁的時候能看見的,最直觀的,也是這三層中最簡單的;
BLL用來保存業務邏輯,起到一個承上啟下的作用,用來連接WebUI層和DAL層,主要是定義一些方法,相對來講比WebUI要復雜;
DAL文件夾主要是保存對數據庫操作的一些文件,主要是對一些SQL語句(存儲過程)的執行。
這三層之間的關系是上層引用下層,即WebUI引用BLL,BLL引用DAL。這三層聯系起來就是這樣一個過程:在頁面添加一些信息經過合理性判斷(WebUI)后調用BLL層的函數(方法)。
三、各層間的訪問過程
1、傳入值,將值進行類型轉換(為整型)。
2、創建BLL層的content.cs對象c,通過對象c訪問BLL層的方法GetContentInfo(ID)調用BLL層。
3、BLL層方法GetContentInfo(ID)中取得數據訪問層SQLServerDAL的實例,實例化IDAL層的接口對象dal,這個對象是由工廠層DALFactory創建的,然后返回IDAL層傳入值所查找的內容的方法dal.GetContentInfo(id)。
4、數據工廠通過web.config配置文件中給定的webdal字串訪問SQLServerDAL層,返回一個完整的調用SQLServerDAL層的路徑給 BLL層。
5、到此要調用SQLServerDAL層,SQLServerDAL層完成賦值Model層的對象值為空,給定一個參數,調用SQLServerDAL層的SqlHelper的ExecuteReader方法,讀出每個字段的數據賦值給以定義為空的Model層的對象。
6、SqlHelper執行sql命令,返回一個指定連接的數據庫記錄集,在這里需要引用參數類型,提供為打開連接命令執行做好准備PrepareCommand。
7、返回Model層把查詢得到的一行記錄值賦值給SQLServerDAL層的引入的Model層的對象ci,然后把這個對象返回給BLL。
8、回到Web層的BLL層的方法調用,把得到的對象值賦值給Lable標簽,在前台顯示給界面
實現步驟過程
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、注意在解決方案里增加各項目引用。