1. 程式人生 > >裸寫一個程序內 COM 元件

裸寫一個程序內 COM 元件

Re:
“Usually”,它是IID_IClassFactory。我不知道有沒有不“Usually”的情況,也不知道這個介面原先的設計意圖是什麼。如果可能,其實完全可以繞開類廠機制,直接用想要使用的那個介面的IID,貌似整套機制也能運轉

=================================

除了是IID_IClassFactory, 也可以是任何從它繼承的介面。
這個介面的設計意圖還是把介面和實現分開。
C++類機制基本上做到了介面和實現可分,只有一個地方例外,就是建構函式。
只有知道了具體類的名稱和建構函式形式,才能建立該類物件,這就是說,物件的建立依賴於實現而不是隻依賴於介面。為了解決這個問題,需要採用類工廠模式,把建立物件的功能交給工廠物件來完成,而工廠物件又可以通過類機制實現多型。 這種設計允許有多個不同的工廠物件(甚至是不同的工廠類)採用不同的方式建立同一類物件。
  
回覆
  更多評論