<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團論壇 http://www.bjzhda.cn

    曙海教育集團論壇
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
    [瀏覽完整版]

    標題:Microsoft.NET PetShop4架構與技術分析

    1樓
    wangxinxin 發表于:2010-12-15 11:21:46

    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 Provider

    5.利用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更全面復雜。


    序號

    項目名稱

    描述

    1

    BLL

    業務邏輯層

    2

    CacheDependencyFactory

    緩存依賴類的工廠類

    3

    WEB

    表示層

    4

    DALFactory

    數據層的抽象工廠

    5

    DBUtility

    數據訪問類組件

    6

    IBLLStrategy

    同步/異步策略接口

    7

    ICacheDependency

    緩存依賴類接口

    8

    IDAL

    數據訪問層接口定義

    9

    IMessaging

    異時處理消息隊列接口定義

    10

    IProfileDAL

    Profile的數據訪問層接口定義

    11

    Membership

    Membership認證和授權管理

    12

    MessagingFactory

    異時處理消息隊列的抽象工廠

    13

    Model

    業務實體

    14

    MSMQMessaging

    異時處理消息隊列的實現

    15

    OracleDAL

    Oracle數據訪問層

    16

    OracleProfileDAL

    Oracle的Profile Providers

    做用戶狀態管理,包括購物車等

    17

    OrderProcessor

    后臺處理進程,處理訂單隊列

    18

    Profile

    Profile的數據訪問層

    19

    ProfileDALFactory

    ProfileDAL的工廠類(反射創建ProfileDAL)

    20

    SQLProfileDAL

    SQL Server 的Profile Providers

    做用戶狀態管理,包括購物車等

    21

    SQLServerDAL

    SQLServer數據訪問層

    22

    TableCacheDependency

    緩存依賴實現類


    項目分解

    由于整體已經有22個項目,所以,對于初學者一看就暈了,所以,我做了分解,可以大體上分幾塊去理解。

    序號

    項目名稱

    描述

    1

    WEB

    表示層

    2

    Model

    業務實體

    3

    BLL

    業務邏輯層

    4

    DALFactory

    數據層的抽象工廠

    5

    IDAL

    數據訪問層接口定義

    6

    SQLServerDAL

    SQLServer數據訪問層

    7

    OracleDAL

    Oracle數據訪問層

    8

    DBUtility

    數據庫訪問組件基礎類

    9

    CacheDependencyFactory

    緩存依賴類的工廠類

    10

    ICacheDependency

    緩存依賴類接口

    11

    TableCacheDependency

    緩存依賴實現類

    12

    IBLLStrategy

    同步/異步處理策略接口(實現在bll根據配置反射選擇)

    13

    MessagingFactory

    異時處理消息隊列的抽象工廠

    14

    IMessaging

    異時處理消息隊列接口定義

    15

    MSMQMessaging

    異時處理消息隊列的實現

    16

    Profile

    Profile的數據訪問層

    17

    ProfileDALFactory

    ProfileDAL的工廠類(反射創建ProfileDAL)

    18

    IProfileDAL

    Profile的數據訪問層接口定義

    19

    OracleProfileDAL

    Oracle的Profile Providers

    做用戶狀態管理

    20

    SQLProfileDAL

    SQL Server 的Profile Providers

    做用戶狀態管理

    21

    Membership

    Membership認證和授權管理

    22

    OrderProcessor

    后臺處理進程,處理訂單隊列

     



    3.Petshop 4中的設計模式

    工廠模式:

    首當其沖的就是工廠模式,很容易就可以看出來,也是應用最多的。

    DALFactory:數據訪問層的抽象工廠(決定創建哪種數據庫類型的數據訪問層?梢赃x擇:SQLServer,Oracle)

    CacheDependencyFactory:緩存依賴類的工廠類。(創建具體表的緩存依賴)

    MessagingFactory :異時處理消息隊列的抽象工廠(反射創建具體的異時處理類)

    ProfileDALFactory:ProfileDAL的工廠類(反射選擇創建Oracle 和SQL Server的 ProfileDAL)

    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

    Copyright © 2000 - 2009 曙海教育集團
    Powered By 曙海教育集團 Version 2.2
    Processed in .06299 s, 2 queries.
    主站蜘蛛池模板: 久久午夜夜伦鲁鲁片免费无码| 国产精品一区二区三区久久| 亚洲JIZZJIZZ中国少妇中文| 波多野结衣被躁五十分钟视频| 老子影院在线观看| 浮力影院第一页| 国产免费牲交视频| 99久久中文字幕伊人| 巨龙肉色透明水晶丝袜校花| 亚洲va欧美va国产综合| 疯狂魔鬼城无限9999999金币| 国产国语对白露脸| 乖帮我拉开拉链它想你| 黑人巨大精品欧美一区二区 | 日韩爽爽视频爽爽| 人妻少妇精品视频专区| 色综合色综合久久综合频道| 国产精品美女久久久久| 三级精品视频在线播放| 日本三级电影网址| 亚洲伊人精品综合在合线| 欧美黑人乱大交ⅹxxxxx| 午夜免费小视频| 里番库全彩本子彩色h可知子| 国产黄色片91| 中文在线а√天堂| 日本大片免aaa费观看视频| 亚洲国产精品毛片AV不卡在线| 热久久99精品这里有精品| 国产乱了真实在线观看| 青青青爽在线视频观看| 国产精品嫩草影院永久一| v片免费在线观看| 岛国片在线免费观看| 久久久国产99久久国产久| 日韩亚洲av无码一区二区不卡| 亚洲成人午夜电影| 欧美肥妇毛多水多bbxx水蜜桃| 六度国产福利午夜视频黄瓜视频| 美女大量吞精在线观看456| 国产在线无码视频一区|