日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析

發布時間:2025/3/15 asp.net 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
應用/項目名稱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

簡單個人評價:

  • Personal Web Site Starter Kit:簡單,供初學者參考之用
  • Club Web Site Starter Kit:對標準 MemberShip 的擴充值得一看
  • Classifieds Site Starter Kit:結構較為清晰,利用 DataSet 簡化了大量 SQL 代碼的編寫
  • Commerce Starter Kit: 利用了 Provider 模型,有些小瑕疵,如界UI層有 SqlDataSource,Model 中有 DataTable
  • Duwamish 7.1:架構比較清晰,但Model 繼承自 DataSet ,因此其 BuildDataTables 和 Models 中的CURD 方法較為麻煩,代碼量較大
  • Jobs Site Starter Kit:簡單實用,有些缺點,如 Model 的 CRUD 方法的 SqlParameter 造成 BLL 和 DAL 無法完全隔離
  • Timer Tracker Starter Kit:一種架構清晰、較好的實現模式,只是代碼量稍大
  • .Text 0.95:基于 .NET 1.1 ,因此 BLL 層稍顯復雜,DAL 層代碼量也較大
  • Community Server 2.1:它同時兼容 .NET 1.1 和 .NET 2.0 ,因此沒有利用 .NET 2.0 的許多特性,但其 Provider 的模式較為清晰
  • .Pet Shop 4.0:架構清晰
  • 轉載于:https://www.cnblogs.com/lxf120/archive/2006/09/27/515902.html

    總結

    以上是生活随笔為你收集整理的ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。