應用/項目名稱 |
UI層實現 |
Business Model & Logic Layer 實現 |
Data Access Layer 實現 |
Personal Web Site Starter Kit |
在ASP.NET頁面上直接利用 ObjectDataSource 來綁定 PhotoManager 中的方法來擷取資料、更新資料 |
兩個資料實體類(Album、Photo),一個管理類(PhotoManager) 自行解決資料庫連接、使用 SqlCommand 來調用預存程序來完成 |
Club Web Site Starter Kit |
在ASP.NET頁面上直接利用 SqlDataSource 來擷取資料、更新資料 |
只有一些簡單的 Helper/Utility類,商務邏輯大多在頁面上實現 |
有一個DataSet,提取 Member表的資料,在自己的資料庫中擴充了 SqlMembershipProvider的欄位 |
Classifieds Site Starter Kit |
在ASP.NET頁面上,增/刪/改主要是利用FormView調用BLL中的ModelDB來實現,資料列表主要利用ModelCache的List和ModelDB返回的ModelDataTable來綁定 |
1) BLL中實現了 ModelDB的類,調用DAL中的DataSet來進行資料更新,如果是查詢資料(GetModelList),則得到 ModelDataComponent.ModelDataTable,這是資料集自動產生代碼中的一個類 2) 在 App_Code 的Web目錄中,主要實現了部分實體在 HTTP Context中的Cache功能,建立了 CachedModel(資料實體類)及其管理對象 ModelCache,後者主要是將BLL層的ModelDB的Retrive結果DataTable轉成 List |
全是ASP.NET 2.0 中的DataSet,實現了所有表資料的擷取與更新,它是調用預存程序來實現的 |
Commerce Starter Kit |
在ASP.NET頁面上,有一些是直接調用 ModelManager對象來完成使用者互動,有一些則是利用 ObjectDataSource 綁定 ModelManager 來達到同樣功能 對於某些操作,如果沒有對應的 ModelManager 則直接使用 SqlDataSource |
1) 在Objects目錄下,定義了資料實體類,包含所有屬性的Get/Set方法的定義,沒有執行個體化方法,而是使用 void Load(IDataReader)來初始化,其中有一個對象(ShoppingCartItems),則繼承至DataTable,利用 BuildDataTable()來進行初始化 2) 利用數個 ModelProvider 將與資料庫的主要互動功能封裝起來,提供了實體層次的CRUD 3) 在 BLL 目錄下,有數個 ModelManager,提供從業務層面對 Model 的操作,其中主要是調用 ModelProvider來完成具體的操作 |
在 ModelProvider項目中中,先定義ModelProvider抽象類別,再由 SqlModelProvider 來繼承,後者中利用 SqlHelper 來完成資料訪問,主要是調用預存程序 |
Duwamish 7.1 (.NET 1.1) |
調用BusinessFacade中的 OrderSystem 和 ProductSystem 中的方法完成使用者互動,這主要是調用DAL層的相關對象來完成的 |
1) ModelData,繼承自System.Data.DataSet,在建構函式裡調用BuildDataTables()來初始化一個DataTable用來儲存Model資料 2) 在BusinessFacade和BusinessRule中,實現了與商務邏輯有關的內容,調用資料層的 Models 來完成資料訪問 |
實現了數個 Models對象,提供了對於 ModelData的CRUD方法,它也是調用 SqlHelper 來完成與資料庫的互動 |
Jobs Site Starter Kit |
利用 ObjectDataSource 綁定 Model 類,Command 主要是調用 Model 的 CRUD方法 |
在 Model 對象中定義了所有屬性和CRUD方法,實現時調用了 DAL 的 DBAccess 對象,也使用了諸如 SqlParameter 等對象 |
只有一個類 DBAccess ,屬於工具類,類似於 SqlHelper,它是利用 System.Data.SqlClient 來實現的,如果向其他資料庫移植,代碼量不大 |
Timer Tracker Starter Kit |
利用 ObjectDataSource 綁定 Model 類,Command 主要是調用 Model 的 CRUD方法 |
在 Model 對象中定義了所有屬性和CRUD方法 |
DataAccess:抽象類別,定義了DAL層需要實現所有 Model 的 CRUD 對應的資料存取方法 DataAccessHelper:工廠類,利用配置建立相應的 DataAccess 對象 SqlDataAccess:DataAccess 的 SQL Server 實現,其中也包含一些類似於SqlHelper 的通用方法以簡化代碼 |
.Text 0.95 (.NET 1.1) |
大多數是調用 Model有直接調用 SqlDataProvider 來擷取資料、更新資料 |
在Dottext.Framework 的 Component 中定義了業務實體 Model 和 ModelCollection,在在Dottext.Framework定義了 Models 類,主要用提供 Model 的 CRUD 方法,其中的 R 返回 ModelCollection |
在Dottext.Framework 的 Data 中定義了 IDbProvider和 IDTOProvider 介面,然後提供了 DataDTOProvider 和 SqlDbProvider 的實現,其中調用了 SqlHelper 類 |
Community Server 2.1 SDK (.NET 1.1 & 2.0) |
直接調用 Models 的方法來擷取資料、更新資料等 |
在 CommunityServerComponents 項目的 Components 中定義 Model 類,其中僅包含屬性定義及建構函式,另外定義了 Models 類,其中實現了 Model 的 CRUD 方法,它是調用 Provider 下的 CommonDataProvider 來完成資料訪問的 |
在 CommunityServerComponents 項目的 Proivder 中,利用抽象類別CommonDataProvider 定義了所有 BLL & Model 層需要的資料存取方法,然後在 SqlDataProvider 中項目中使用 SqlDataProvider 繼承此類,完成與 SQL Server 資料庫的互動 |
.Pet Shop 4.0 |
在 ASP.NET 的頁面上,大多是利用代碼來調用 BLL 層的 Model 對象來擷取資料、更新資料 |
Model 項目 中定義了所有的業務實體 ModelInfo BLL 項目中定義業務實體 Model ,其中包含業務視角的 CRUD 方法,它們是調用 IDAL 中的 IModel 的 CRUD 方法來實現的 |
IDAL 項目中有多個介面定義 IModel,其中定義了需要實現的 Model 的 CRUD 方法 SqlServerDAL 和 OracleDAL 分別在兩種資料庫上實現了 IDAL DALFactory 為工廠類,負責根據配置返回相應的 IDAL 的 IModel 實作類別 DBUtility 是 SQL Server 和 Oracle 資料庫操作的工具類,主要是 SQLHelper 和 OracleHelper |