IDynamicKeyProviderConcept 介面 (dbgmodel.h)
如果用戶端想要接管物件的索引鍵和值的儲存,它可以實作這個概念介面。
對像是索引鍵的動態提供者,希望從核心數據模型接管所有密鑰查詢。 此介面通常用來作為動態語言的網橋,例如 JavaScript。
遺產
IDynamicKeyProviderConcept 繼承自 IUnknown。
方法
IDynamicKeyProviderConcept 介面具有這些方法。
IDynamicKeyProviderConcept::AddRef IDynamicKeyProviderConcept::AddRef 方法會遞增 對象上介面的參考計數。 |
IDynamicKeyProviderConcept::EnumerateKeys 動態密鑰提供者上的 EnumerateKeys 方法實際上是 IModelObject 上 EnumerateKeys 方法的覆寫。 |
IDynamicKeyProviderConcept::GetKey 動態密鑰提供者上的 GetKey 方法基本上是 IModelObject 上的 GetKey 方法覆寫。 |
IDynamicKeyProviderConcept::QueryInterface IDynamicKeyProviderConcept::QueryInterface 方法會擷取對象上支援介面的指標。 |
IDynamicKeyProviderConcept::Release IDynamicKeyProviderConcept::Release 方法會遞減 對象上介面的參考計數。 |
IDynamicKeyProviderConcept::SetKey 動態密鑰提供者上的 SetKey 方法實際上是 IModelObject 上 SetKey 方法的覆寫。 |
言論
動態提供者概念
雖然數據模型本身通常會處理物件的索引鍵和概念管理,但有時候該概念不理想。 特別是,當用戶端想要在數據模型與真正動態的其他項目之間建立橋樑時,從數據模型中的實作接管重要和概念管理可能會很實用。 核心數據模型是IModelObject 唯一實作,而是透過兩個概念的組合來完成:動態關鍵提供者概念和動態概念提供者概念。 雖然實作兩者或兩者都不是一般,但不需要此類。
如果兩者都已實作,則必須在動態概念提供者概念之前新增動態索引鍵提供者概念。 這兩個概念都是特殊的。 它們有效地在物件上翻轉開關,將其從「靜態管理」變更為「動態管理」。 只有在對象上沒有數據模型所管理的索引鍵/概念時,才能設定這些概念。 將這些概念新增至 對象之後,執行此動作是不可撤銷的。 IModelObject 之間有額外的語意差異,這是動態概念提供者,也不是。 這些概念旨在讓客戶端在數據模型與 JavaScript 等動態語言系統之間建立橋樑。 數據模型具有擴充性的概念,與 JavaScript 等系統基本不同,因為父模型樹狀結構,而不是 JavaScript 原型鏈結之類的線性鏈結。 若要讓這類系統有更好的關聯性,IModelObject,這是動態概念提供者具有單一數據模型父系。 該單一數據模型父系是一般 IModelObject,它可以有任意數目的父模型,如同數據模型一般。 新增或移除父系之動態概念提供者的任何要求都會自動重新導向至單一父系。 從局外人的觀點來看,動態概念提供者似乎具有父模型的一般樹狀結構樣式鏈結。 動態概念提供者概念的實作者是唯一知道中繼單一父系的物件(核心數據模型外部)。 該單一父系可以連結至動態語言系統,以提供網橋(例如:放置於 JavaScript 原型鏈結中)。
要求
要求 | 價值 |
---|---|
標頭 | dbgmodel.h |