• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用ASP設計購物推車

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 12次 | 進入軟件測試論壇討論

    領測軟件測試網 什么是購物推車?
      你一定去過超級市場吧。在那里你可以推著推車,將中意的商品放進推車,或者把推車里的商品取出來重新放到貨架,最后你推著推車去結賬。
      那么,在網上超市,客戶也應該可以在瀏覽商品目錄時,將中意的商品放進"電子推車"。電子推車是超級市場推車的電子化。在網上商店里,這種電子推車又稱為"購物推車",英文是Shopping Cart。
    購物推車的設計目標
      從程序員的觀點來看,購物推車是維護購物者商品選購、允許察看、允許修改的一個對象。購物推車本身是一個非常簡單的程序,但開發者要考慮它將連接到商品目錄子系統、訂單子系統、客戶賬號子系統、站點管理子系統等等,形成功能完整的網上商店。

    下面是購物推車的設計目標:
    1、 持續性:購物推車應該從它的前一次會話中記住其內容。
    2、 購物推車和客戶相關,而不是和客戶的電腦相關?蛻艨梢詮牧硗獾碾娔X或瀏覽器來訪問購物推車。
    3、 當新的商品被加入推車或者從推車去掉時,推車的內容可以被顯示給用戶。
    4、 推車可以容納很多甚至無限的商品。
    系統設計/流程設計
      在編寫我們的購物推車之前,我們看看它的系統架構和流程。請看下圖:

      如果客戶從商品目錄中選擇了一件商品,這時我們傳遞客戶的請求到proxy.asp,同時傳遞的是動作變量"增加商品"。Proxy.asp讀取這個變量,并決定執行購物推車的哪個動作。這些動作包括:增加商品、更新商品數量、移除商品或者察看購物推車。
      有些動作被作為內部調用。如創建推車之前,我們需要檢查推車是否已經存在(CheckCart)。在增加、刪除或者更新商品及其數量時,我們要確認此商品是否已經存在于我們的購物推車之中(CheckItem)。下面我們將為購物推車設計8個方法,分別是:
    ViewItem 察看推車
    CheckCart 檢查推車
    CreateCart 創建推車
    AddItem(ID, Qty), 增加商品
    RemoveItem(ID) 刪除商品
    UpdateItem(ID, Qty), 更新數量
    RemoveAll 全部清空
    CheckItem(ID) 商品檢查

    購物推車的設計
      購物推車需要三個要素:一個VBScript 5的類class CartKit,一個多維數組mudCart,一個session變量Session("Cart")。
      這個VBScript 類,我們稱為CartKit,包含了8個方法,如上表所示。在本文我們只用了ID和Qty,分別表示商品編號和數量。
      這樣我們就可以用一個二維數組來表達這個推車,象下面這樣:
    商品編號 商品數量
    ID-1 23
    ID-3 10
    ID-23 6
    ID-2 1
    然后我們把這個二維數組保存到session變量中就可以了。
    購物推車類CartKit的設計
    請下載:CartKit.asp
    CreateCart設計:
    請看程序代碼:
    Class CartKit REM 開始類CartKit的定義
    Sub CreateCart()
     IF IsArray(Session("Cart")) = false THEN
      Dim mudCart(19,1)
      Session("Cart") = mudCart
     END IF
    End Sub
    其中:Session("Cart")保存的就是推車的內容。如果推車不存在,我們就定義一個二維數組mudCart來表達推車,并將它保存到session("Cart")中。
    CheckCart設計:
    本函數判斷Cart是否已經創建。比較簡單。
    Function CheckCart()
    IF IsArray(Session("Cart")) THEN
      CheckCart=True
     ELSE
      CheckCart=False
     END IF
    End Function
    CheckItem設計:
    請看代碼:
    Function CheckItem(ID)
    IF CheckCart=True THEN
      varMudCart = Session("Cart")
      FOR i = LBound(varMudCart)TO UBound(varMudCart)
     IF varMudCart(i,0) = ID THEN
      CheckItem=TRUE
     Exit Function
     ELSEIF varMudCart(i,0) <> ID THEN
      CheckItem=FALSE
     END IF
      NEXT
     END IF
    End Function
    首先判斷推車是否存在。然后將商品的編號ID和購物推車中的商品編號逐一比較。如果有相等的,返回真。否則為假。
    AddItem(ID,Qty)設計:
    請參考本文的附件CartKit.asp,這里介紹的函數我們把它們封裝到一個名為CartKit的class中。下面的代碼段首先創建了一個CartKit對象,然后檢查推車是否已經存在。如果不存在,就創建推車并新增商品;否則,檢查商品編號是否已經存在于Cart中。如果是,就更新數量;否則,新增商品。
    Function AddItem(ID, Qty)
    Set CartObj = New CartKit
    varCartStatus = CartObj.CheckCart
     IF varCartStatus=false THEN
      CartObj.CreateCart
      mudCart=Session("Cart")
      mudCart(0,0)=ID
      mudCart(0,1)=Qty
      Session("Cart")=mudCart
       Exit Function
     ELSEIF varCartStatus=true THEN
     IF CartObj.CheckItem(ID) = true THEN
      CartObj.UpdateItem ID,Qty
     ELSEIF cartObj.CheckItem(ID) = false THEN
      mudCart = Session("Cart")
     FOR i = LBound(mudCart) TO UBound(mudCart)
     IF mudCart(i,0) = "" THEN
      mudCart(i,0) = ID
      mudCart(i,1) = Qty
      Session("Cart") = mudCart
     Exit Function
     END IF
     NEXT
     END IF
     END IF
    End Function
    UpdateItem設計:
    Function UpdateItem(ID, Qty)
    mudCart = Session("Cart")

     FOR i = LBound(mudCart) TO UBound(mudCart)
      IF mudCart(i,0) = ID THEN
       mudCart(i,1) = Qty
       Session("cart")=mudCart
       Exit Function
      END IF
     NEXT
    End Function
    ViewItem設計:
    Function ViewItem()
    mudCart=Session("Cart")
    IF isArray(mudCart) THEN
    %>


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>