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

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

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

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

    基于構件復用的軟件方法與COM支持[3]

    發布: 2008-10-28 09:26 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 23次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:中間件

      COM為所有的組件對象規定了一個必須實現的基接口IUnknown,這不僅定義了最基本的公共服務,而且還使一個指向IUnknown接口的指針客觀上成為組件實例的對象標示.除對象生存期的管理外,這種對象標示還使COM組件具有了自解釋的特性:通過對Iunknown接口的成員函數QueryInterface的調用可以查詢到對象實現的所有接口.

      不過上述自動化的各種優點是以其數據類型的限制和性能的部分損失為代價的.雖然編譯器可以通過類型庫進行前綁定(參數類型的檢查,符號到分發ID的轉換),但是最耗時的InVoke卻難以優化.為此COM規定了雙接口機制,為程序員提供了在動態綁定與靜態聯編之間選擇的自由.同時,自動化技術的存在,也為腳本語言(VBScript, JavaScript)提供了活力.

      三 包容和聚合

      作為面向對象系統的重要特性,COM支持兩種重用模型:包容(containment)和聚合(aggregation)它們的思路基本一致,只是在實現方法上有所不同.

      考慮包容的情況,假定已經有一個實現了接口IReuseInterface的COM對象A,由于新的需求,我們又要實現一個新的COM對象B,它既要實現接口IReuseInterface,又要實現接口INewInterface,而且IreuseInterface所提供的服務與對象A的接口基本一致,只要再實現新添加的功能就可完成對象B的開發.最直觀的想法就是在對象B的內部"包容"一個對象A的實例.所有對B的接口IreuseInterface成員函數的調用均在其內部簡單地轉發給對象A,對于B的客戶來說,根本無需知道A的存在.

      包容模型在實現時較為靈活,可以再將調用轉發給內部對象的前后,進行一些本地化的處理,從而彌補A和B各自IreuseInterface接口在功能上的微小差異.

    延伸閱讀

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

    TAG: COM 復用 構件 軟件

    41/41234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>