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의 유일한 구현이므로 동적 키 공급자 개념과 동적 개념 공급자 개념이라는 두 가지 개념의 조합을 통해 수행됩니다. 둘 다 또는 둘 다 구현하는 것이 일반적이지만 이에 대한 요구 사항은 없습니다.
둘 다 구현되는 경우 동적 개념 공급자 개념 앞에 동적 키 공급자 개념을 추가해야 합니다. 이러한 두 가지 개념은 모두 특별합니다. 개체의 스위치를 효과적으로 전환하여 "정적으로 관리"에서 "동적으로 관리"로 변경합니다. 이러한 개념은 개체의 데이터 모델에서 관리하는 키/개념이 없는 경우에만 설정할 수 있습니다. 이러한 개념이 개체에 추가되면 이 작업을 수행하는 작업은 취소할 수 없습니다. 동적 개념 공급자인 IModelObject와 그렇지 않은 IModelObject 간의 확장성에 대한 추가 의미 체계 차이가 있습니다. 이러한 개념은 클라이언트가 데이터 모델과 JavaScript와 같은 동적 언어 시스템 간에 브리지를 만들 수 있도록 하기 위한 것입니다. 데이터 모델에는 JavaScript 프로토타입 체인과 같은 선형 체인이 아닌 부모 모델의 트리가 있다는 점에서 JavaScript와 같은 시스템과 약간 근본적으로 다른 확장성 개념이 있습니다. 이러한 시스템과 더 나은 관계를 허용하기 위해 동적 개념 공급자인 IModelObject 에는 단일 데이터 모델 부모가 있습니다. 단일 데이터 모델 부모는 데이터 모델에 일반적인 것처럼 임의 수의 부모 모델을 가질 수 있는 일반 IModelObject 입니다. 부모 추가 또는 제거를 위한 동적 개념 공급자에 대한 모든 요청은 자동으로 한 부모로 리디렉션됩니다. 외부인의 관점에서 보면 동적 개념 공급자에 부모 모델의 일반 트리 스타일 체인이 있는 것처럼 보입니다. 동적 개념 공급자 개념의 구현자는 중간 단일 부모를 인식하는 유일한 개체(핵심 데이터 모델 외부)입니다. 해당 단일 부모는 동적 언어 시스템에 연결하여 브리지를 제공할 수 있습니다(예: JavaScript 프로토타입 체인에 배치).
요구 사항
요구 사항 | 값 |
---|---|
헤더 | dbgmodel.h |