午夜伦理在线-午夜伦理在线观看-午夜毛片免费看-午夜美女久久久久爽久久-午夜免费

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.brpp.cn/bbs/index.asp)
--  Microsoft.NET Framework  (http://www.brpp.cn/bbs/list.asp?boardid=78)
----  Microsoft.NET PetShop4架構(gòu)與技術(shù)分析  (http://www.brpp.cn/bbs/dispbbs.asp?boardid=78&id=2645)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-15 11:21:46
--  Microsoft.NET PetShop4架構(gòu)與技術(shù)分析

1.項(xiàng)目概述與架構(gòu)分析
微軟剛推出了基于ASP.NET 2.0下的Pet Shop 4, 該版本有了一個(gè)全新的用戶界面。是研究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ō)話,通過(guò)對(duì)項(xiàng)目各方面的性能評(píng)估進(jìn)而在比較.NET和Java的高下。用戶做比較的這個(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 做用戶狀態(tài)管理,包括購(gòu)物車(chē)等

6.采用了Master Pages,取代了原來(lái)的用戶控件,來(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)

3

WEB

表示層

4

DALFactory

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

5

DBUtility

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

6

IBLLStrategy

同步/異步策略接口

7

ICacheDependency

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

8

IDAL

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

9

IMessaging

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

10

IProfileDAL

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

11

Membership

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

12

MessagingFactory

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

13

Model

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

14

MSMQMessaging

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

15

OracleDAL

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

16

OracleProfileDAL

Oracle的Profile Providers

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

17

OrderProcessor

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

18

Profile

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

19

ProfileDALFactory

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

20

SQLProfileDAL

SQL Server 的Profile Providers

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

21

SQLServerDAL

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

22

TableCacheDependency

緩存依賴實(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ù)層的抽象工廠

5

IDAL

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

6

SQLServerDAL

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

7

OracleDAL

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

8

DBUtility

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

9

CacheDependencyFactory

緩存依賴類(lèi)的工廠類(lèi)

10

ICacheDependency

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

11

TableCacheDependency

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

12

IBLLStrategy

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

13

MessagingFactory

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

14

IMessaging

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

15

MSMQMessaging

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

16

Profile

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

17

ProfileDALFactory

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

18

IProfileDAL

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

19

OracleProfileDAL

Oracle的Profile Providers

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

20

SQLProfileDAL

SQL Server 的Profile Providers

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

21

Membership

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

22

OrderProcessor

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

 



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

工廠模式:

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

DALFactory:數(shù)據(jù)訪問(wèn)層的抽象工廠(決定創(chuàng)建哪種數(shù)據(jù)庫(kù)類(lèi)型的數(shù)據(jù)訪問(wèn)層。可以選擇:SQLServer,Oracle)

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

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

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


主站蜘蛛池模板: 国产91麻豆视频 | 黄网址在线看 | 久久久久激情免费观看 | 亚洲日韩男人网在线 | 欧美国产亚洲精品a第一页 欧美国产亚洲一区 | 日本一级毛片在线播放 | 亚洲电影一区二区三区 | 亚洲国产午夜精品乱码 | 欧美日韩一区二区三区免费不卡 | 1024免费永久福利视频 | 免费的很黄很色的床小视频 | 色综合久久久久综合99 | 黄污视频免费观看 | 老头毛片 | 亚洲欧洲精品视频在线观看 | 亚洲综合日韩精品欧美综合区 | 国产成人吃奶一区 | 美女美女高清毛片视频 | 可以免费看的黄色网址 | 欧美精品午夜 | 春色影院| 三级午夜宅宅伦不卡在线 | 丰满寡妇一级毛片 | 久久本道久久综合伊人 | 哪有黄色网址 | 国产欧美日韩一区二区三区视频 | 青青青免费网站在线观看 | 国产极品美女网站在线观看 | 特级黄国产片一级视频播放 | 亚洲欧洲日产国码久在线观看 | 日韩中文字幕视频在线 | 三级福利片| 欧美黑大粗硬免费看 | 欧美亚洲精品在线 | 国产免费三a在线 | 九九热在线免费视频 | 91精品欧美一区二区综合在线 | 91网址在线观看 | 九九九在线视频 | 欧美一二三区视频 | 日本高清毛片视频在线看 |