Freigeben über


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.

Erbschaft

IDynamicConceptProviderConcept erbt von IUnknown.

Methodik

Die IDynamicConceptProviderConcept Schnittstelle hat diese Methoden.

 
IDynamicConceptProviderConcept::AddRef

Die IDynamicConceptProviderConcept::AddRef-Methode erhöht die Verweisanzahl für eine Schnittstelle eines Objekts.
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 eines dynamischen Konzeptanbieters 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 des einzelnen übergeordneten Modells zu informieren, das erstellt wird, um das Paradigma "mehrere übergeordnete Modelle" zu überbrücken.
IDynamicConceptProviderConcept::NotifyParentChange

Die NotifyParent-Methode für einen dynamischen Konzeptanbieter ist ein Rückruf des Kerndatenmodells, wenn eine statische Manipulation 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 erhöht die Referenzanzahl für eine Schnittstelle eines Objekts.
IDynamicConceptProviderConcept::SetConcept

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

Bemerkungen

Konzepte für dynamische Anbieter

Während das Datenmodell selbst normalerweise die Schlüssel- und Konzeptverwaltung für Objekte verarbeitet, gibt es Zeiten, in denen dieser Begriff weniger als ideal ist. Insbesondere, wenn ein Kunde eine Brücke zwischen dem Datenmodell und etwas anderes erstellen 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 IModelObjectist, erfolgt dies stattdessen über eine Kombination aus zwei Konzepten: dem dynamischen Schlüsselanbieterkonzept und dem Konzept des dynamischen Konzepts des Anbieters. Obwohl es typisch wäre, beide oder keines zu implementieren, besteht keine Anforderung dafür.

Wenn beide implementiert werden, muss das dynamische Schlüsselanbieterkonzept vor dem Konzept des dynamischen Konzeptanbieters hinzugefügt werden. Beide Konzepte sind besonders. Sie kippen effektiv einen Schalter auf dem Objekt, der ihn von "statisch verwaltet" in "dynamisch verwaltet" ändert. Diese Konzepte können nur festgelegt werden, wenn es keine Schlüssel/Konzepte gibt, die vom Datenmodell für das Objekt verwaltet werden. Sobald diese Konzepte zu einem Objekt hinzugefügt werden, ist die Aktion dieser Aktion unwiderruflich. Es gibt einen zusätzlichen semantischen Unterschied bei der Erweiterbarkeit zwischen einem IModelObject, bei dem es sich um einen dynamischen Konzeptanbieter handelt und das nicht. Diese Konzepte sollen Es Clients ermöglichen, Brücken zwischen dem Datenmodell und dynamischen Sprachsystemen wie JavaScript zu erstellen. Das Datenmodell hat ein Konzept der Erweiterbarkeit, das sich grundlegend von Systemen wie JavaScript unterscheidet, da es eine Struktur von übergeordneten Modellen anstelle einer linearen Kette wie der JavaScript-Prototypkette gibt. Um eine bessere Beziehung zu solchen Systemen zu ermöglichen, verfügt ein IModelObject, bei dem es sich um einen dynamischen Konzeptanbieter handelt, über ein einzelnes übergeordnetes Datenmodell verfügt. Dieses übergeordnete Einzelne Datenmodell ist eine normale IModelObject-, die eine beliebige Anzahl von übergeordneten Modellen aufweisen kann, wie für das Datenmodell typisch ist. Alle Anforderungen an den dynamischen Konzeptanbieter zum Hinzufügen oder Entfernen von Eltern werden automatisch an das einzelne Elternteil umgeleitet. Aus Außensicht sieht es so aus, als ob der dynamische Konzeptanbieter über eine normale Strukturstilkette von übergeordneten Modellen verfügt. Der Implementierer des Konzepts des dynamischen Konzeptanbieters ist das einzige Objekt (außerhalb des Kerndatenmodells), das sich der übergeordneten Zwischenstufe bewusst ist. Dieses einzelne übergeordnete Element kann mit dem dynamischen Sprachsystem verknüpft werden, um eine Brücke bereitzustellen (z. B. in die JavaScript-Prototypkette platziert).

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

Debuggerdatenmodell C++-Übersicht