IDynamicConceptProviderConcept-Schnittstelle (dbgmodel.h)

Wenn ein Client die Speicherung von Schlüsseln und Werten für ein Objekt übernehmen möchte, kann er diese Konzeptschnittstelle implementieren.

Das Objekt ist ein dynamischer Schlüsselanbieter und möchte alle Schlüsselabfragen aus dem Kerndatenmodell übernehmen. Diese Schnittstelle wird in der Regel als Brücke zu dynamischen Sprachen wie JavaScript verwendet.

Vererbung

IDynamicConceptProviderConcept erbt von IUnknown.

Methoden

Die IDynamicConceptProviderConcept-Schnittstelle verfügt über diese Methoden.

 
IDynamicConceptProviderConcept::AddRef

Die IDynamicConceptProviderConcept::AddRef-Methode erhöht die Verweisanzahl für eine Schnittstelle für ein Objekt.
IDynamicConceptProviderConcept::GetConcept

Die GetConcept-Methode für einen dynamischen Konzeptanbieter ist effektiv eine Außerkraftsetzung der GetConcept-Methode auf IModelObject.
IDynamicConceptProviderConcept::NotifyDestruct

Die NotifyDestruct-Methode für einen dynamischen Konzeptanbieter ist ein Rückruf des Kerndatenmodells zu Beginn der Zerstörung des Objekts, das ein dynamischer Konzeptanbieter ist.
IDynamicConceptProviderConcept::NotifyParent

Der NotifyParent-Aufruf wird vom Kerndatenmodell verwendet, um den dynamischen Anbieter über das einzelne übergeordnete Modell zu informieren, das erstellt wird, um eine Überbrückung des Paradigmas "mehrere übergeordnete Modelle" zu ermöglichen.
IDynamicConceptProviderConcept::NotifyParentChange

Die NotifyParent-Methode für einen dynamischen Konzeptanbieter ist ein Rückruf, der vom Kerndatenmodell ausgeführt wird, wenn eine statische Bearbeitung des einzelnen übergeordneten Modells des Objekts vorgenommen wird.
IDynamicConceptProviderConcept::QueryInterface

Die IDynamicConceptProviderConcept::QueryInterface-Methode ruft Zeiger auf die unterstützten Schnittstellen für ein Objekt ab.
IDynamicConceptProviderConcept::Release

Die IDynamicConceptProviderConcept::Release-Methode verringert die Verweisanzahl für eine Schnittstelle für ein Objekt.
IDynamicConceptProviderConcept::SetConcept

Die SetConcept-Methode für einen dynamischen Konzeptanbieter ist effektiv eine Außerkraftsetzung der SetConcept-Methode auf IModelObject.

Hinweise

Konzepte für dynamische Anbieter

Während das Datenmodell selbst normalerweise die Schlüssel- und Konzeptverwaltung für Objekte übernimmt, gibt es Situationen, in denen dieser Begriff nicht ideal ist. Insbesondere wenn ein Kunde eine Brücke zwischen dem Datenmodell und etwas anderem schaffen möchte, das wirklich dynamisch ist (z. B. JavaScript), kann es hilfreich sein, die Schlüssel- und Konzeptverwaltung von der Implementierung im Datenmodell zu übernehmen. Da das Kerndatenmodell die einzige Implementierung von IModelObject ist, erfolgt dies stattdessen über eine Kombination aus zwei Konzepten: dem dynamischen Schlüsselanbieterkonzept und dem dynamischen Konzeptanbieterkonzept. Es wäre zwar üblich, beides oder keines zu implementieren, aber es gibt keine Anforderung dafür.

Wenn beide implementiert sind, muss das Konzept des dynamischen Schlüsselanbieters vor dem Konzept des dynamischen Konzeptanbieters hinzugefügt werden. Beide Konzepte sind besonders. Sie kippen effektiv einen Schalter auf dem Objekt, um es von "statisch verwaltet" in "dynamisch verwaltet" zu ändern. Diese Konzepte können nur festgelegt werden, wenn keine Schlüssel/Konzepte vorhanden sind, die vom Datenmodell für das -Objekt verwaltet werden. Sobald diese Konzepte zu einem Objekt hinzugefügt wurden, ist die Aktion, die dies bewirkt, unwiderruflich. Es gibt einen zusätzlichen semantischen Unterschied in Bezug auf die Erweiterbarkeit zwischen einem IModelObject , das ein dynamischer Konzeptanbieter ist, und einem, das nicht ist. Diese Konzepte sollen es Clients ermöglichen, Brücken zwischen dem Datenmodell und dynamischen Sprachsystemen wie JavaScript zu erstellen. Das Datenmodell verfügt über ein Konzept der Erweiterbarkeit, das sich etwas grundlegend von Systemen wie JavaScript unterscheidet, da es eine Struktur von übergeordneten Modellen anstelle einer linearen Kette wie die JavaScript-Prototypkette gibt. Um eine bessere Beziehung zu solchen Systemen zu ermöglichen, verfügt ein IModelObject , das ein dynamischer Konzeptanbieter ist, über ein einzelnes übergeordnetes Datenmodell. Dieses einzelne übergeordnete Datenmodell ist ein normales IModelObject , das eine beliebige Anzahl übergeordneter Modelle aufweisen kann, wie es typisch für das Datenmodell ist. Alle Anforderungen an den dynamischen Konzeptanbieter, übergeordnete Elemente hinzuzufügen oder zu entfernen, werden automatisch an das einzelne übergeordnete Element umgeleitet. Aus Sicht eines Außenseiters sieht es so aus, als ob der dynamische Konzeptanbieter über eine normale Strukturstilkette von übergeordneten Modellen verfügt. Der Implementierer des dynamischen Konzeptanbieterkonzepts ist das einzige Objekt (außerhalb des Kerndatenmodells), das sich des zwischengeschalteten übergeordneten Elements bewusst ist. Dieses einzelne übergeordnete Element kann mit dem dynamischen Sprachsystem verknüpft werden, um eine Brücke zu schaffen (z. B. in die JavaScript-Prototypkette platziert).

Anforderungen

Anforderung Wert
Header dbgmodel.h

Weitere Informationen

Übersicht über das Debuggerdatenmodell in C++