日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[COM/ATL]组件、对象、MFC、ATL的区别

發布時間:2023/12/18 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [COM/ATL]组件、对象、MFC、ATL的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

組件(Component)和對象(Object)之間的區別

先明確組件(Component)和對象(Object)之間的區別。組件是一個可重用的模塊,它是由一?組處理過程、數據封裝和用戶接口組成的業務對象(Rules?Object)。組件看起來像對象,但不符合對象的學術定義。它們的主要區別是:?

?

  • 組件可以在另一個稱為容器(有時也稱為承載者或宿主)的應用程序中使用,也可以作為獨立過程使用;?
  • 組件可以由一個類構成,也可以由多個類組成,或者是一個完整的應用程序;?
  • 組件為模塊重用,而對象為代碼重用。現在,比較流行的組件模型有COMComponent?Objiect?Module,對象組件模型)/DCOM(?Distributed?COM,分布式對象組件模型)和CORBACommon?Object?Request?Broker?Architecture,公共對象請求代理體系結構)。到這里,已經出現了與本文相關的主題COM,而CORBA與本文無關,就不作介紹。?
  • ?

    MFCATL之間的不同

    目前MFCATL代表了兩種框架,分別面向不同類型的基于Windows的開發。

    ?

    • MFC代表了創建獨立的Windows應用的一種簡單、一致的方法;ATL提供了一種框架來實現創建COM客戶機和服務器所必須的樣板文件代碼。
    • ATL則不同于MFC,它完全面向COM組件,其技術路線也不同于MFCMFC使用的是C++中的繼承、封裝、嵌套等常規技術,而ATL使用了C++中模板、多繼承等高級技術,甚至還用到了STL。所以學習和使用ATL要求我們必須熟悉這些C++高級特性。

    ?

    另一方面,ATL結構完全針對COM中的諸多規范,這就要求使用人員必須非常了解COM規范,才有可能真正把ATL用好。

    什么是ATL

    ATL(動態模板庫)ActiveX?Template?Library?的縮寫,它是一套C++模板庫。基本目標就是使COM應用開發盡可能地自動化

    ATLActiveX?Template?Library?的縮寫,它是一套C++模板庫。使用ATL能夠快速地開發出高效、簡潔的代碼(Effective?and?Slim?code),同時對COM組件的開發提供最大限度的代碼自動生成以及可視化支持。為了方便使用,從Microsoft?Visual?C++?5.0版本開始,MicrosoftATL集成到Visual?C++開發環境中。19989月推出的Visual?Studio?6.0?集成了ATL?3.0版本。目前,ATL已經成為Microsoft標準開發工具中的一個重要成員,日益受到C++開發人員的重視。?

    ?

  • ATL的基本目標就是使COM應用開發盡可能地自動化,這個基本目標就決定了ATL只面向COM開發提供支持。目標的明確使ATLCOM技術的支持達到淋漓盡致的地步。對COM開發的任何一個環節和過程,ATL都提供支持,并將與COM開發相關的眾多工具集成到一個統一的編程環境中。對于COM/ActiveX的各種應用,ATL也都提供了完善的Wizard支持。所有這些都極大地方便了開發者的使用,使開發者能夠把注意力集中在與應用本身相關的邏輯上。
  • ATL因其采用了特定的基本實現技術,擺脫了大量冗余代碼,使用ATL開發出來的COM應用的代碼簡練高效,即所謂的“Slim?Code”ATL在實現上盡可能采用優化技術,甚至在其內部提供了所有C/C++開發的程序所必須具有的C啟動代碼的替代部分。同時ATL產生的代碼在運行時不需要依賴于類似MFC程序所需要的龐大的代碼模塊,包含在最終模塊中的功能是用戶認為最基本和最必須的。這些措施使采用ATL開發的COM組件(包括ActiveX?Control)可以在網絡環境下實現應用的分布式組件結構。
  • ATL的各個版本對Microsoft的基于COM的各種新的組件技術如MTSASP等都有很好的支持,ATL對新技術的反應速度大大快于MFCATL已經成為Microsoft支持COM應用開發的主要開發工具,因此COM技術方面的新進展在很短的時間內都會在ATL中得到反映。這使開發者使用ATL進行COM編程可以得到直接使用COM?SDK編程同樣的靈活性和強大的功能。?
  • ?

    轉載于:https://www.cnblogs.com/jiangu66/p/3202825.html

    總結

    以上是生活随笔為你收集整理的[COM/ATL]组件、对象、MFC、ATL的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。