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 メソッドのオーバーライドです。 |
注釈
動的プロバイダーの概念
通常、データ モデル自体はオブジェクトのキーと概念の管理を処理しますが、その概念が理想的ではない場合があります。 特に、クライアントがデータ モデルと、真に動的な何か (JavaScript など) との間にブリッジを作成したい場合は、データ モデルの実装からキーと概念の管理を引き継ぐ必要があります。 コア データ モデルは IModelObject の唯一の実装であるため、これは代わりに、動的キー プロバイダーの概念と動的概念プロバイダーの概念という 2 つの概念の組み合わせによって行われます。 両方を実装するか、どちらも実装するのが一般的ですが、そのような要件はありません。
両方が実装されている場合は、動的概念プロバイダーの概念の前に動的キー プロバイダーの概念を追加する必要があります。 これらの概念はどちらも特別です。 オブジェクトを "静的に管理" から "動的に管理" に変更するスイッチを効果的に反転させます。 これらの概念は、オブジェクト上のデータ モデルによって管理されるキー/概念がない場合にのみ設定できます。 これらの概念がオブジェクトに追加されると、これを行うアクションは取り消し不可能になります。 動的概念プロバイダーである IModelObject とそうでないプロバイダーの間には、拡張に関するセマンティックの違いが追加されています。 これらの概念は、クライアントがデータ モデルと JavaScript などの動的言語システムとの間にブリッジを作成することを目的としています。 データ モデルには、JavaScript プロトタイプ チェーンのような線形チェーンではなく親モデルのツリーがあるという点で、JavaScript のようなシステムとは若干異なる拡張性の概念があります。 このようなシステムとのより良い関係を可能にするために、動的概念プロバイダーである IModelObject には、単一のデータ モデルの親があります。 その単一データ モデルの親は通常の IModelObject であり、 データ モデルの一般的な親モデルの数は任意です。 親を追加または削除する動的概念プロバイダーへの要求は、自動的に単一の親にリダイレクトされます。 部外者の観点からは、動的概念プロバイダーには親モデルの通常のツリー スタイル チェーンがあるかのように見えます。 動的概念プロバイダーの概念の実装者は、中間の単一の親を認識する唯一のオブジェクト (コア データ モデルの外部) です。 その単一の親を動的言語システムにリンクしてブリッジを提供できます (例: JavaScript プロトタイプ チェーンに配置)。
要件
要件 | 値 |
---|---|
Header | dbgmodel.h |