1.1三層之間的引用
整個.NET框架的項目創建完成之后,在開發之前,還需要建立各個項目之間的引用關系,以便在編寫C#業務邏輯代碼時調用相關項目的類庫。
1.1.1 引用關系規則
.NET三層架構中的UI、BLL、DAL、Model之間的引用是有順序的,不能隨便的引用和調用。它們之間的引用規則如下:
- Model層被UI、BLL、DAL層引用和調用。
- UI層只能引用和調用BLL層和Model層。
- BLL層只能引用和調用DAL層和Model層。
- DAL層只能與Model交互,並且操作SQL Server數據庫。
1.2. 添加引用關系
我們在Visual Studio開發工具中,創建了4個項目,這4個項目的名稱空間都是不一樣的,並且都存在不同的文件夾中。默認不能相互調用。它們之間如果要相互調用,這必須添加項目引用。
在沒有添加項目引用的情況下,各層之間是獨立的,隔離的。
1.2.1. UI引用BLL和Model
UI層是用戶界面層,或稱為表示層,是供用戶訪問的界面,因此,在經典.NET三層架構中創建的各層最終都是為UI層服務的。經過各層的邏輯處理之后,最終有用的數據就會流轉到UI層並供用戶查看和使用。
按照經典.NET三層架構之間的引用規則,UI層只能引用和調用BLL層和Model層。
1.2.2. BLL引用DAL和Model
BLL層是業務邏輯層,主要用於復雜的業務邏輯處理,然后將處理后的數據傳遞給UI層,UI層再呈現給用戶。
而BLL層的數據是從DAL層過來的,DAL層是與SQL Server數據庫接觸的,因為我們最終的數據是永久存儲在SQL Server數據庫中的,所以通過DAL層就能夠拿到原始數據,再在Model層的幫助下,以對象的形式將取出的原始數據傳遞給BLL層。
所以,BLL層需要引用DAL層和Model層。
1.2.3. DAL引用Model
在經典.NET三層架構中,DAL層是處理原始數據的一層,主要作用是從SQL Server數據庫中獲取原始數據。通過使用Model實體層,可以讓數據以對象的形式獲取。
最后,由於Model是實體層,只是一些由類封裝的屬性組成的,給三層之間傳遞數據使用的,所以不需要引用其它項目。