Microsoft .NET Pet Shop 4 架構與技術分析[轉] :十一的部落:Xuite日誌
  • yan.kee
  • 文章分類
  • 最愛連結
  • 我的發燒文
  • 累積 | 今日
    loading......
  • 參觀人氣統計
  • BLOG玩意兒
  • 搜尋文章
  • 關鍵字
  • 最新文章
  • 最新回應
  • Re:只能在執行 Render() 的過程中調用 RegisterForEventValidation,by(11)於2008-07-03
    Re:[轉]自動清除7天以上的檔案 ,by(haoming)於2008-06-13
    Re:[kuso]尿布舞,by(11)於2008-05-18
    Re:[kuso]尿布舞,by(seth)於2008-05-18
    Re:C#中產生GUID,by(yankee)於2008-02-17
    Re:C#中產生GUID,by(jimmy)於2008-02-16
    Re:開發excel 問題討論串,by(11)於2008-02-02
    Re:Connection Strings 討論串,by(11)於2008-01-27
    Re:SQL 分頁,by(11)於2008-01-25
    Re:開發excel 問題討論串,by(11)於2008-01-16
  • 活動
  • 到台灣玩不帶走一張發票
    ===訪客來自===
    Locations of visitors to this page
  • 日誌使用資源






  • 如何使用RSS
    Powered by Xuite
    2008-04-09 09:31 Microsoft .NET Pet Shop 4 架構與技術分析[轉]
  • ?
  • .net文章
  • 好文轉寄
  • 平均分數:0 顆星    投票人數:0
    我要評分:
    標籤 : 


    1.項目概述與架構分析
    微軟剛推出了基於ASP.NET 2.0下的Pet Shop 4, 該版本有了一個全新的用戶界面。是研究ASP.NET 2.0的好範例啊,大家都知道,一直以來,在.NETJava之間爭論不休,到底使用哪個平台開發的企業級應用性能最好、結構最優、生產力最高。為了用事實說話,通過對項目各方面的性能評估進而在比較.NETJava的高下。用戶做比較的這個項目就是Petshop。正因為Petshop肩負著上面所說的重任,各方面必須是最優的,架構設計應該是經過慎重考慮的。所以其一經推出,便成為了開發者、架構師等人學習、研究的典範。

     

    日前微軟推出了基於.NET Framework 2.0開發的Petshop 4。新的Petshop4實現了與Petshop 3相同甚至更多的特性,由於採用了Master PagesMembership,以及ProfileSqlCacheDependency,但是代碼量卻減少了四分之一。同時,在事務、數據緩存、安全方面使用了.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 10gCustom  ASP.NET 2.0 Membership Provider

     

    5.利用ASP.NET 2.0Custom 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