ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| 應(yīng)用/項(xiàng)目名稱 | UI層實(shí)現(xiàn) | Business Model & Logic Layer 實(shí)現(xiàn) | Data Access Layer 實(shí)現(xiàn) |
| Personal Web Site Starter Kit | 在ASP.NET頁面上直接利用 ObjectDataSource 來綁定 PhotoManager 中的方法來獲取數(shù)據(jù)、更新數(shù)據(jù) | 兩個數(shù)據(jù)實(shí)體類(Album、Photo),一個管理類(PhotoManager) 自行解決數(shù)據(jù)庫連接、使用 SqlCommand 來調(diào)用存儲過程來完成 | |
| Club Web Site Starter Kit | 在ASP.NET頁面上直接利用 SqlDataSource 來獲取數(shù)據(jù)、更新數(shù)據(jù) | 只有一些簡單的 Helper/Utility類,業(yè)務(wù)邏輯大多在頁面上實(shí)現(xiàn) | 有一個DataSet,提取 Member表的數(shù)據(jù),在自己的數(shù)據(jù)庫中擴(kuò)充了 SqlMembershipProvider的字段 |
| Classifieds Site Starter Kit | 在ASP.NET頁面上,增/刪/改主要是利用FormView調(diào)用BLL中的ModelDB來實(shí)現(xiàn),數(shù)據(jù)列表主要利用ModelCache的List和ModelDB返回的ModelDataTable來綁定 | 1) BLL中實(shí)現(xiàn)了 ModelDB的類,調(diào)用DAL中的DataSet來進(jìn)行數(shù)據(jù)更新,如果是查詢數(shù)據(jù)(GetModelList),則得到 ModelDataComponent.ModelDataTable,這是數(shù)據(jù)集自動生成代碼中的一個類 2) 在 App_Code 的Web目錄中,主要實(shí)現(xiàn)了部分實(shí)體在 HTTP Context中的Cache功能,建立了 CachedModel(數(shù)據(jù)實(shí)體類)及其管理對象 ModelCache,后者主要是將BLL層的ModelDB的Retrive結(jié)果DataTable轉(zhuǎn)成 List | 全是ASP.NET 2.0 中的DataSet,實(shí)現(xiàn)了所有表數(shù)據(jù)的獲取與更新,它是調(diào)用存儲過程來實(shí)現(xiàn)的 |
| Commerce Starter Kit | 在ASP.NET頁面上,有一些是直接調(diào)用 ModelManager對象來完成用戶交互,有一些則是利用 ObjectDataSource 綁定 ModelManager 來達(dá)到同樣功能 對于某些操作,如果沒有對應(yīng)的 ModelManager 則直接使用 SqlDataSource | 1) 在Objects目錄下,定義了數(shù)據(jù)實(shí)體類,包含所有屬性的Get/Set方法的定義,沒有實(shí)例化方法,而是使用 void Load(IDataReader)來初始化,其中有一個對象(ShoppingCartItems),則繼承至DataTable,利用BuildDataTable()來進(jìn)行初始化 2) 利用數(shù)個 ModelProvider 將與數(shù)據(jù)庫的主要交互功能封裝起來,提供了實(shí)體層次的CRUD 3) 在 BLL 目錄下,有數(shù)個 ModelManager,提供從業(yè)務(wù)層面對 Model 的操作,其中主要是調(diào)用 ModelProvider來完成具體的操作 | 在 ModelProvider項(xiàng)目中中,先定義ModelProvider抽象類,再由 SqlModelProvider 來繼承,后者中利用 SqlHelper 來完成數(shù)據(jù)訪問,主要是調(diào)用存儲過程 |
| Duwamish 7.1 (.NET 1.1) | 調(diào)用BusinessFacade中的 OrderSystem 和 ProductSystem 中的方法完成用戶交互,這主要是調(diào)用DAL層的相關(guān)對象來完成的 | 1) ModelData,繼承自System.Data.DataSet,在構(gòu)造函數(shù)里調(diào)用BuildDataTables()來初始化一個DataTable用來存儲Model數(shù)據(jù) 2) 在BusinessFacade和BusinessRule中,實(shí)現(xiàn)了與業(yè)務(wù)邏輯有關(guān)的內(nèi)容,調(diào)用數(shù)據(jù)層的 Models 來完成數(shù)據(jù)訪問 | 實(shí)現(xiàn)了數(shù)個 Models對象,提供了對于 ModelData的CRUD方法,它也是調(diào)用 SqlHelper 來完成與數(shù)據(jù)庫的交互 |
| Jobs Site Starter Kit | 利用 ObjectDataSource 綁定 Model 類,Command 主要是調(diào)用 Model 的 CRUD方法 | 在 Model 對象中定義了所有屬性和CRUD方法,實(shí)現(xiàn)時調(diào)用了 DAL 的 DBAccess 對象,也使用了諸如 SqlParameter 等對象 | 只有一個類 DBAccess ,屬于工具類,類似于 SqlHelper,它是利用 System.Data.SqlClient 來實(shí)現(xiàn)的,如果向其他數(shù)據(jù)庫移植,代碼量不大 |
| Timer Tracker Starter Kit | 利用 ObjectDataSource 綁定 Model 類,Command 主要是調(diào)用 Model 的 CRUD方法 | 在 Model 對象中定義了所有屬性和CRUD方法 | DataAccess:抽象類,定義了DAL層需要實(shí)現(xiàn)所有 Model 的 CRUD 對應(yīng)的數(shù)據(jù)訪問方法 DataAccessHelper:工廠類,利用配置創(chuàng)建相應(yīng)的 DataAccess 對象 SqlDataAccess:DataAccess 的 SQL Server 實(shí)現(xiàn),其中也包含一些類似于SqlHelper 的通用方法以簡化代碼 |
| .Text 0.95 (.NET 1.1) | 大多數(shù)是調(diào)用 Model有直接調(diào)用 SqlDataProvider 來獲取數(shù)據(jù)、更新數(shù)據(jù) | 在Dottext.Framework 的 Component 中定義了業(yè)務(wù)實(shí)體 Model 和 ModelCollection,在在Dottext.Framework定義了 Models 類,主要用提供 Model 的 CRUD 方法,其中的 R 返回 ModelCollection | 在Dottext.Framework 的 Data 中定義了 IDbProvider和 IDTOProvider 接口,然后提供了 DataDTOProvider 和 SqlDbProvider 的實(shí)現(xiàn),其中調(diào)用了 SqlHelper 類 |
| Community Server 2.1 SDK (.NET 1.1 & 2.0) | 直接調(diào)用 Models 的方法來獲取數(shù)據(jù)、更新數(shù)據(jù)等 | 在 CommunityServerComponents 項(xiàng)目的 Components 中定義 Model 類,其中僅包含屬性定義及構(gòu)造函數(shù),另外定義了 Models 類,其中實(shí)現(xiàn)了 Model 的 CRUD 方法,它是調(diào)用 Provider 下的 CommonDataProvider 來完成數(shù)據(jù)訪問的 | 在 CommunityServerComponents 項(xiàng)目的 Proivder 中,利用抽象類CommonDataProvider 定義了所有 BLL & Model 層需要的數(shù)據(jù)訪問方法,然后在 SqlDataProvider 中項(xiàng)目中使用 SqlDataProvider 繼承此類,完成與 SQL Server 數(shù)據(jù)庫的交互 |
| .Pet Shop 4.0 | 在 ASP.NET 的頁面上,大多是利用代碼來調(diào)用 BLL 層的 Model 對象來獲取數(shù)據(jù)、更新數(shù)據(jù) | Model 項(xiàng)目 中定義了所有的業(yè)務(wù)實(shí)體 ModelInfo BLL 項(xiàng)目中定義業(yè)務(wù)實(shí)體 Model ,其中包含業(yè)務(wù)視角的 CRUD 方法,它們是調(diào)用 IDAL 中的 IModel 的 CRUD 方法來實(shí)現(xiàn)的 | IDAL 項(xiàng)目中有多個接口定義 IModel,其中定義了需要實(shí)現(xiàn)的 Model 的 CRUD 方法 SqlServerDAL 和 OracleDAL 分別在兩種數(shù)據(jù)庫上實(shí)現(xiàn)了 IDAL DALFactory 為工廠類,負(fù)責(zé)根據(jù)配置返回相應(yīng)的 IDAL 的 IModel 實(shí)現(xiàn)類 DBUtility 是 SQL Server 和 Oracle 數(shù)據(jù)庫操作的工具類,主要是 SQLHelper 和 OracleHelper |
簡單個人評價(jià):
轉(zhuǎn)載于:https://www.cnblogs.com/lxf120/archive/2006/09/27/515902.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++编程笔记:贪心算法实现活动安排问题
- 下一篇: 想要 24 小时自学编程,那是不可能的,