欧美日韩一区二区高清,久久视频这里只有精品,超黄网站在线观看,成人av影院在线观看


曙海教育集團(tuán)論壇開(kāi)發(fā)語(yǔ)言培訓(xùn)專(zhuān)區(qū)Microsoft.NET Framework → Microsoft.NET PetShop4架構(gòu)與技術(shù)分析


  共有8562人關(guān)注過(guò)本帖樹(shù)形打印

主題:Microsoft.NET PetShop4架構(gòu)與技術(shù)分析

美女呀,離線(xiàn),留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
Microsoft.NET PetShop4架構(gòu)與技術(shù)分析  發(fā)帖心情 Post By:2010-12-15 11:21:46

1.項(xiàng)目概述與架構(gòu)分析
微軟剛推出了基于ASP.NET 2.0下的Pet Shop 4, 該版本有了一個(gè)全新的用戶(hù)界面。是研究ASP.NET 2.0的好范例啊,大家都知道,一直以來(lái),在.NET和Java之間爭(zhēng)論不休,到底使用哪個(gè)平臺(tái)開(kāi)發(fā)的企業(yè)級(jí)應(yīng)用性能最好、結(jié)構(gòu)最優(yōu)、生產(chǎn)力最高。為了用事實(shí)說(shuō)話(huà),通過(guò)對(duì)項(xiàng)目各方面的性能評(píng)估進(jìn)而在比較.NET和Java的高下。用戶(hù)做比較的這個(gè)項(xiàng)目就是Petshop。正因?yàn)镻etshop肩負(fù)著上面所說(shuō)的重任,各方面必須是最優(yōu)的,架構(gòu)設(shè)計(jì)應(yīng)該是經(jīng)過(guò)慎重考慮的。所以其一經(jīng)推出,便成為了開(kāi)發(fā)者、架構(gòu)師等人學(xué)習(xí)、研究的典范。

日前微軟推出了基于.NET Framework 2.0開(kāi)發(fā)的Petshop 4。新的Petshop4實(shí)現(xiàn)了與Petshop 3相同甚至更多的特性,由于采用了Master Pages,Membership,以及Profile,SqlCacheDependency,但是代碼量卻減少了四分之一。同時(shí),在事務(wù)、數(shù)據(jù)緩存、安全方面使用了.NET 2.0附帶的特性,構(gòu)建了一個(gè)靈活的最佳實(shí)踐的應(yīng)用程序。


他們利用了Project Conversion Wizard把項(xiàng)目從ASP.NET 1.1移植到了ASP.NET 2.0,然后做了以下改動(dòng):

1.用System.Transactions代替了原來(lái)的Serviced Components提供的事務(wù)功能

代碼實(shí)現(xiàn):PetShop.BLL.OrderSynchronous 的 public void Insert(PetShop.Model.OrderInfo order)。

2.用強(qiáng)類(lèi)型的范型集合代替了原來(lái)的弱類(lèi)型集合

        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來(lái)做認(rèn)證和授權(quán)

4.創(chuàng)建了針對(duì)Oracle 10g的Custom  ASP.NET 2.0 Membership Provider

5.利用ASP.NET 2.0的Custom Oracle 和 SQL Server Profile Providers 做用戶(hù)狀態(tài)管理,包括購(gòu)物車(chē)等

6.采用了Master Pages,取代了原來(lái)的用戶(hù)控件,來(lái)實(shí)現(xiàn)統(tǒng)一的界面效果

7.使用了ASP.NET 2.0 Wizard控件實(shí)現(xiàn)check-out

8.使用了SqlCacheDependency來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)層次的緩存更新(cache invalidation)功能

9.使用了消息隊(duì)列來(lái)實(shí)現(xiàn)異時(shí)訂單處理。

 

2.整體架構(gòu):


數(shù)據(jù)庫(kù):(暫略)

項(xiàng)目列表:從整體可以看出,Pet Shop 4的項(xiàng)目體系已經(jīng)很龐大,考慮的方面也較3.0更全面復(fù)雜。


序號(hào)

項(xiàng)目名稱(chēng)

描述

1

BLL

業(yè)務(wù)邏輯層

2

CacheDependencyFactory

緩存依賴(lài)類(lèi)的工廠(chǎng)類(lèi)

3

WEB

表示層

4

DALFactory

數(shù)據(jù)層的抽象工廠(chǎng)

5

DBUtility

數(shù)據(jù)訪(fǎng)問(wèn)類(lèi)組件

6

IBLLStrategy

同步/異步策略接口

7

ICacheDependency

緩存依賴(lài)類(lèi)接口

8

IDAL

數(shù)據(jù)訪(fǎng)問(wèn)層接口定義

9

IMessaging

異時(shí)處理消息隊(duì)列接口定義

10

IProfileDAL

Profile的數(shù)據(jù)訪(fǎng)問(wèn)層接口定義

11

Membership

Membership認(rèn)證和授權(quán)管理

12

MessagingFactory

異時(shí)處理消息隊(duì)列的抽象工廠(chǎng)

13

Model

業(yè)務(wù)實(shí)體

14

MSMQMessaging

異時(shí)處理消息隊(duì)列的實(shí)現(xiàn)

15

OracleDAL

Oracle數(shù)據(jù)訪(fǎng)問(wèn)層

16

OracleProfileDAL

Oracle的Profile Providers

做用戶(hù)狀態(tài)管理,包括購(gòu)物車(chē)等

17

OrderProcessor

后臺(tái)處理進(jìn)程,處理訂單隊(duì)列

18

Profile

Profile的數(shù)據(jù)訪(fǎng)問(wèn)層

19

ProfileDALFactory

ProfileDAL的工廠(chǎng)類(lèi)(反射創(chuàng)建ProfileDAL)

20

SQLProfileDAL

SQL Server 的Profile Providers

做用戶(hù)狀態(tài)管理,包括購(gòu)物車(chē)等

21

SQLServerDAL

SQLServer數(shù)據(jù)訪(fǎng)問(wèn)層

22

TableCacheDependency

緩存依賴(lài)實(shí)現(xiàn)類(lèi)


項(xiàng)目分解

由于整體已經(jīng)有22個(gè)項(xiàng)目,所以,對(duì)于初學(xué)者一看就暈了,所以,我做了分解,可以大體上分幾塊去理解。

序號(hào)

項(xiàng)目名稱(chēng)

描述

1

WEB

表示層

2

Model

業(yè)務(wù)實(shí)體

3

BLL

業(yè)務(wù)邏輯層

4

DALFactory

數(shù)據(jù)層的抽象工廠(chǎng)

5

IDAL

數(shù)據(jù)訪(fǎng)問(wèn)層接口定義

6

SQLServerDAL

SQLServer數(shù)據(jù)訪(fǎng)問(wèn)層

7

OracleDAL

Oracle數(shù)據(jù)訪(fǎng)問(wèn)層

8

DBUtility

數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)組件基礎(chǔ)類(lèi)

9

CacheDependencyFactory

緩存依賴(lài)類(lèi)的工廠(chǎng)類(lèi)

10

ICacheDependency

緩存依賴(lài)類(lèi)接口

11

TableCacheDependency

緩存依賴(lài)實(shí)現(xiàn)類(lèi)

12

IBLLStrategy

同步/異步處理策略接口(實(shí)現(xiàn)在bll根據(jù)配置反射選擇)

13

MessagingFactory

異時(shí)處理消息隊(duì)列的抽象工廠(chǎng)

14

IMessaging

異時(shí)處理消息隊(duì)列接口定義

15

MSMQMessaging

異時(shí)處理消息隊(duì)列的實(shí)現(xiàn)

16

Profile

Profile的數(shù)據(jù)訪(fǎng)問(wèn)層

17

ProfileDALFactory

ProfileDAL的工廠(chǎng)類(lèi)(反射創(chuàng)建ProfileDAL)

18

IProfileDAL

Profile的數(shù)據(jù)訪(fǎng)問(wèn)層接口定義

19

OracleProfileDAL

Oracle的Profile Providers

做用戶(hù)狀態(tài)管理

20

SQLProfileDAL

SQL Server 的Profile Providers

做用戶(hù)狀態(tài)管理

21

Membership

Membership認(rèn)證和授權(quán)管理

22

OrderProcessor

后臺(tái)處理進(jìn)程,處理訂單隊(duì)列

 



3.Petshop 4中的設(shè)計(jì)模式

工廠(chǎng)模式:

首當(dāng)其沖的就是工廠(chǎng)模式,很容易就可以看出來(lái),也是應(yīng)用最多的。

DALFactory:數(shù)據(jù)訪(fǎng)問(wèn)層的抽象工廠(chǎng)(決定創(chuàng)建哪種數(shù)據(jù)庫(kù)類(lèi)型的數(shù)據(jù)訪(fǎng)問(wèn)層?梢赃x擇:SQLServer,Oracle)

CacheDependencyFactory:緩存依賴(lài)類(lèi)的工廠(chǎng)類(lèi)。(創(chuàng)建具體表的緩存依賴(lài))

MessagingFactory :異時(shí)處理消息隊(duì)列的抽象工廠(chǎng)(反射創(chuàng)建具體的異時(shí)處理類(lèi))

ProfileDALFactory:ProfileDAL的工廠(chǎng)類(lèi)(反射選擇創(chuàng)建Oracle 和SQL Server的 ProfileDAL)


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

Microsoft.NET PetShop4架構(gòu)與技術(shù)分析








簽名
主站蜘蛛池模板: 高雄县| 龙口市| 乡宁县| 合水县| 景洪市| 荔波县| 桦南县| 溆浦县| 株洲县| 昌平区| 中西区| 江口县| 永定县| 酉阳| 云南省| 大埔县| 沙湾县| 洛川县| 乐昌市| 新河县| 枣强县| 富阳市| 青岛市| 常熟市| 原平市| 讷河市| 东港市| 靖宇县| 巴青县| 灵璧县| 拜城县| 河池市| 松潘县| 赫章县| 遂昌县| 勃利县| 海南省| 邢台市| 北海市| 濮阳市| 西乌珠穆沁旗|