2013-10-19 72 views
2

我的問題是針對熟悉COM的開發人員。 我目前正在寫我的大學論文,部分是關於微軟COM。組件對象模型

  1. 是COM至今仍在使用的目的除了遺留代碼
  2. 大家都說COM已經過時了。爲什麼新的Windows Runtime是一個「增強的」基於COM的API?什麼是「增強」
  3. 是否有任何顯著上升空間,以COM相比,.NET或副字的意思也一樣
  4. 任何建議在哪裏可以瞭解更多有關COM和.NET互操作以及如何準確它的工作原理

請儘可能支持您的答案! 謝謝。

+1

對於#4,關於此主題的最佳書籍是Adam Nathan's * .NET和COM:完整的互操作性指南*([亞馬遜](http://www.amazon.com/dp/067232170X)) –

回答

4
  1. 是的。

  2. COM仍然是Windows工作方式的核心。無論C風格的api不夠用,COM都是暴露對象模型的下一步。是的,商店應用程序是COM服務器。

  3. COM是本地代碼,它增加了很少的開銷,並且幾乎可以使用任何移植到Windows的語言。

  4. 訪問amazon.com搜索書籍,閱讀評論。

已經不需要了解COM來編寫在Windows上運行的程序。許多工作都是爲了包裹它而使它更友好。 Store語言運行時中的語言投影值得注意,底層COM代碼的可見痕跡非常少。將其關聯到與學習彙編語言編程相媲美的狀態。

0

由Microsoft開發的基於組件的模型,用於引入語言互操作性。要了解COM,我們首先知道COM概念出現在.Net中的場景。我們知道在面向對象的概念中,代碼在同一個應用程序中是可用的,但是無論如何,如果我想從其他不同語言的應用程序中調用任何類的功能,那麼這是不可能的。面向對象的另一個缺點是,在軟件開發之後,任何類別都需要進行任何更改,然後整個應用程序需要重新構建並再次部署到客戶端機器。其實問題是,在這種情況下,我們正在獲得特定應用程序的可重用性,而不是整個應用程序級別。您可以在這裏閱讀有關COM的更多信息:Component based model