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

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

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

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

    軟件測試面向對象軟件開發的十大原則[1]

    發布: 2009-11-13 14:06 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 15次 | 進入軟件測試論壇討論

    領測軟件測試網

    對于如何為可擴展的標記語言(XML)將文檔對象模型 (DOM) 封裝在一個包裝類中的解決方案,請參考此文,這使你能夠更容易地與一個XML文件進行交互作用,而不需要知道DOM的細節。

      4. 狀態監視問題

      良好的基于組件的開發技術會頻繁地要求無狀態的對象。無狀態對象沒有保持的屬性,只有方法。你可以訪問一個無狀態的組件,執行方法,然后不需要獲取方法調用間的任何數據就可以完成處理。

      有一些OOP方面的文章提出沒有屬性的對象就不是對象。 但是我們現在忽略這個語義上的問題,你可以創建有方法而沒有屬性的類。當你從事COM+或Web開發時,經常會需要這樣做。一個ASP頁面可以在一個組件上執行一個方法來完成一個特殊的處理,然后再釋放組件,不用為管理對象狀態而費心。

      5. 傳遞參數的可擴展性

      參數提供了類的方法之間傳遞信息的途徑。你需要用參數向方法傳遞任何必要的數據,特別是當你需要無狀態對象的時候。

      例如,無狀態對象Customer 的PlaceOrder方法要求把客戶的信息作為參數傳遞給它,然后PlaceOrder方法就用這個信息來完成必要的處理。

      當定義方法的參數時,一定要使它們可以擴展。例如,下面這行代碼是不可擴展的:

      Public Function PlaceOrder(sLastName as String, sFirstName as String, sAddress as String)

      要想調用這個方法你必須傳遞這3個參數。但是如果你以后決定在定單上還需要電話號碼,就必須修改函數簽名,這就破壞了兼容性以及每個調用此方法的代碼段。為了防止這個問題的發生,一個更好的解決方法是:在一個容器中傳遞參數。你可以使用記錄集、變量數組或 XML字符串來傳遞更普通的參數。

      當轉移到.NET時,這個技巧就不是十分必要了,因為在.NET中你可以進行函數裝載,這樣就可以具有兩套不同參數的同一個函數:

      Public Function PlaceOrder(sLastName _

      as String, sFirstName as String, sAddress as String)

      Public Function PlaceOrder(sLastName _

      as String, sFirstName as String, _

      sAddress as String, sPhone as String)

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

    22/2<12

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