IDynamicConceptProviderConcept 接口 (dbgmodel.h)

如果客户端想要接管对象的密钥和值的存储,则可以实现此概念接口。

该对象是密钥的动态提供程序,希望接管核心数据模型中的所有键查询。 此接口通常用作动态语言(如 JavaScript)的桥梁。

遗产

IDynamicConceptProviderConcept 继承自 IUnknown。

方法

IDynamicConceptProviderConcept 接口具有这些方法。

 
IDynamicConceptProviderConcept::AddRef

IDynamicConceptProviderConcept::AddRef 方法递增对象上接口的引用计数。
IDynamicConceptProviderConcept::GetConcept

动态概念提供程序上的 GetConcept 方法实际上是 IModelObject 上的 GetConcept 方法的替代。
IDynamicConceptProviderConcept::NotifyDestruct

动态概念提供程序上的 NotifyDestruct 方法是由核心数据模型在销毁对象(动态概念提供程序)开始时进行的回调。
IDynamicConceptProviderConcept::NotifyParent

核心数据模型使用 NotifyParent 调用来通知动态提供程序单个父模型,该模型是创建用于桥接“多个父模型”范例的。
IDynamicConceptProviderConcept::NotifyParentChange

动态概念提供程序上的 NotifyParent 方法是在对对象的单个父模型进行静态作时由核心数据模型进行的回调。
IDynamicConceptProviderConcept::QueryInterface

IDynamicConceptProviderConcept::QueryInterface 方法检索指向对象上支持的接口的指针。
IDynamicConceptProviderConcept::Release

IDynamicConceptProviderConcept::Release 方法会递减对象上接口的引用计数。
IDynamicConceptProviderConcept::SetConcept

动态概念提供程序上的 SetConcept 方法实际上是 IModelObject 上的 SetConcept 方法的替代。

言论

动态提供程序概念

虽然数据模型本身通常处理对象的关键和概念管理,但有时这种概念不太理想。 具体而言,当客户端希望在数据模型与真正动态的其他内容(例如 JavaScript)之间创建桥梁时,从数据模型中的实现中接管关键和概念管理可能很有价值。 由于核心数据模型是 IModelObject的唯一实现,而是通过两个概念的组合来完成:动态关键提供程序概念和动态概念提供程序概念。 虽然实现这两者或两者都不一定是典型的,但不需要这样做。

如果两者都已实现,则必须在动态概念提供程序概念之前添加动态关键提供程序概念。 这两个概念都是特殊的。 它们有效地在对象上翻转开关,将其从“静态托管”更改为“动态管理”。 仅当对象上没有数据模型管理的键/概念时,才能设置这些概念。 将这些概念添加到对象后,执行此作的作是不可撤销的。 IModelObject(动态概念提供程序和不是)之间的扩展性存在额外的语义差异。 这些概念旨在允许客户端在数据模型和动态语言系统(如 JavaScript)之间创建桥梁。 数据模型具有扩展性的概念,与 JavaScript 等系统基本不同,因为父模型树而不是 JavaScript 原型链等线性链。 为了更好地与此类系统建立关系,IModelObject,它是动态概念提供程序具有单个数据模型父级。 该单个数据模型父模型是普通 IModelObject,它可以具有任意数量的父模型,就像数据模型的典型一样。 向动态概念提供程序添加或删除父级的任何请求都会自动重定向到单个父级。 从局外人的角度来看,动态概念提供程序似乎具有父模型的普通树样式链。 动态概念提供程序概念的实现者是了解中间单个父级的唯一对象(核心数据模型外部)。 单个父级可以链接到动态语言系统,以提供桥(例如:放置在 JavaScript 原型链中)。

要求

要求 价值
标头 dbgmodel.h

另请参阅

调试器数据模型C++概述