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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Microsoft .NET Pet Shop 4 架构与技术分析

發布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Microsoft .NET Pet Shop 4 架构与技术分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.項目概述與架構分析微軟剛推出了基于ASP.NET 2.0下的Pet Shop 4, 該版本有了一個全新的用戶界面。是研究ASP.NET 2.0的好范例啊,大家都知道,一直以來,在.NET和Java之間爭論不休,到底使用哪個平臺開發的企業級應用性能最好、結構最優、生產力最高。為了用事實說話,通過對項目各方面的性能評估進而在比較.NET和Java的高下。用戶做比較的這個項目就是Petshop。正因為Petshop肩負著上面所說的重任,各方面必須是最優的,架構設計應該是經過慎重考慮的。所以其一經推出,便成為了開發者、架構師等人學習、研究的典范。日前微軟推出了基于.NET Framework 2.0開發的Petshop 4。新的Petshop4實現了與Petshop 3相同甚至更多的特性,由于采用了Master Pages,Membership,以及Profile,SqlCacheDependency,但是代碼量卻減少了四分之一。同時,在事務、數據緩存、安全方面使用了.NET 2.0附帶的特性,構建了一個靈活的最佳實踐的應用程序。?他們利用了Project Conversion Wizard把項目從ASP.NET 1.1移植到了ASP.NET 2.0,然后做了以下改動:1.用System.Transactions代替了原來的Serviced Components提供的事務功能代碼實現:PetShop.BLL.OrderSynchronous 的 public void Insert(PetShop.Model.OrderInfo order)2.用強類型的范型集合代替了原來的弱類型集合??????? public IList<ProductInfo> GetProductsByCategory(string category)??????? {??????????? // Return new if the string is empty??????????? if (string.IsNullOrEmpty(category))??????????????? return new List<ProductInfo>();???????????? // Run a search against the data store??????????? return dal.GetProductsByCategory(category);??????? }3.采用ASP.NET 2.0 Membership來做認證和授權 4.創建了針對Oracle 10g的Custom?ASP.NET 2.0 Membership Provider5.利用ASP.NET 2.0的Custom Oracle 和 SQL Server Profile Providers 做用戶狀態管理,包括購物車等6.采用了Master Pages,取代了原來的用戶控件,來實現統一的界面效果7.使用了ASP.NET 2.0 Wizard控件實現check-out 8.使用了SqlCacheDependency來實現數據庫層次的緩存更新(cache invalidation)功能9.使用了消息隊列來實現異時訂單處理。?2.整體架構:
數據庫:(暫略)
項目列表:從整體可以看出,Pet Shop 4的項目體系已經很龐大,考慮的方面也較3.0更全面復雜。?
序號項目名稱描述
1BLL業務邏輯層
2CacheDependencyFactory緩存依賴類的工廠類
3WEB表示層
4DALFactory數據層的抽象工廠
5DBUtility數據訪問類組件
6IBLLStrategy同步/異步策略接口
7ICacheDependency緩存依賴類接口
8IDAL數據訪問層接口定義
9IMessaging異時處理消息隊列接口定義
10IProfileDALProfile的數據訪問層接口定義
11MembershipMembership認證和授權管理
12MessagingFactory異時處理消息隊列的抽象工廠
13Model業務實體
14MSMQMessaging異時處理消息隊列的實現
15OracleDALOracle數據訪問層
16OracleProfileDALOracle的Profile Providers 做用戶狀態管理,包括購物車等
17OrderProcessor后臺處理進程,處理訂單隊列
18ProfileProfile的數據訪問層
19ProfileDALFactoryProfileDAL的工廠類(反射創建ProfileDAL)
20SQLProfileDALSQL Server 的Profile Providers 做用戶狀態管理,包括購物車等
21SQLServerDALSQLServer數據訪問層
22TableCacheDependency緩存依賴實現類
?項目分解由于整體已經有22個項目,所以,對于初學者一看就暈了,所以,我做了分解,可以大體上分幾塊去理解。
序號項目名稱描述
1WEB表示層
2Model業務實體
3BLL業務邏輯層
4DALFactory數據層的抽象工廠
5IDAL數據訪問層接口定義
6SQLServerDALSQLServer數據訪問層
7OracleDALOracle數據訪問層
8DBUtility數據庫訪問組件基礎類
9CacheDependencyFactory緩存依賴類的工廠類
10ICacheDependency緩存依賴類接口
11TableCacheDependency緩存依賴實現類
12IBLLStrategy同步/異步處理策略接口(實現在bll根據配置反射選擇)
13MessagingFactory異時處理消息隊列的抽象工廠
14IMessaging異時處理消息隊列接口定義
15MSMQMessaging異時處理消息隊列的實現
16ProfileProfile的數據訪問層
17ProfileDALFactoryProfileDAL的工廠類(反射創建ProfileDAL)
18IProfileDALProfile的數據訪問層接口定義
19OracleProfileDALOracle的Profile Providers 做用戶狀態管理
20SQLProfileDALSQL Server 的Profile Providers 做用戶狀態管理
21MembershipMembership認證和授權管理
22OrderProcessor后臺處理進程,處理訂單隊列
?
??3.Petshop 4中的設計模式工廠模式:首當其沖的就是工廠模式,很容易就可以看出來,也是應用最多的。DALFactory:數據訪問層的抽象工廠(決定創建哪種數據庫類型的數據訪問層。可以選擇:SQLServer,Oracle)CacheDependencyFactory緩存依賴類的工廠類。(創建具體表的緩存依賴)MessagingFactory 異時處理消息隊列的抽象工廠(反射創建具體的異時處理類ProfileDALFactoryProfileDAL的工廠類(反射選擇創建Oracle 和SQL Server的 ProfileDAL)?策略模式: IorderStrategy???中介模式CategoryDataProxy ItemDataProxy ?ProductDataProxy???暫時只看了這么多,以后有時間繼續分解,如果你有不同的見解或經驗,也請寫下來,好讓大家來共同學習,共同探討,共同進步。?具體介紹可以參看MSDN.NET Pet Shop 4: Migrating an ASP.NET 1.1 Application to 2.0http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet4.asp?下載http://download.microsoft.com/download/8/0/1/801ff297-aea6-46b9-8e11-810df5df1032/Microsoft%20.NET%20Pet%20Shop%204.0.msi

總結

以上是生活随笔為你收集整理的Microsoft .NET Pet Shop 4 架构与技术分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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