IAssociativeDataStorage: различия между версиями
м |
|||
Строка 7: | Строка 7: | ||
Чтение и запись значений, ассоциированных с известными ключами, могут быть осуществлены с помощью метода [[IAssociativeDataStorage::FindNode|FindNode]] с приведением интерфейса соответствующих накопителей и получением их потоков данных для чтения и записи. Этой процедуре аналогичны вызовы наследуемых методов [[IArbitrarilyAccessedDataStorage::ReadOf|ReadOf]] и [[IArbitrarilyAccessedDataStorage::WriteOf|WriteOf]] интерфейса [[IArbitrarilyAccessedDataStorage]], которые позволяют получить потоки чтения или записи за один вызов. | Чтение и запись значений, ассоциированных с известными ключами, могут быть осуществлены с помощью метода [[IAssociativeDataStorage::FindNode|FindNode]] с приведением интерфейса соответствующих накопителей и получением их потоков данных для чтения и записи. Этой процедуре аналогичны вызовы наследуемых методов [[IArbitrarilyAccessedDataStorage::ReadOf|ReadOf]] и [[IArbitrarilyAccessedDataStorage::WriteOf|WriteOf]] интерфейса [[IArbitrarilyAccessedDataStorage]], которые позволяют получить потоки чтения или записи за один вызов. | ||
Примером реализации данного интерфейса может быть шаблон [[CAssociativeDataStorage]], специализированный для типов [[IniBasedAssociativeDataStorageImplementation]] и [[InMemoryAssociativeDataStorageImplementation]]. | Примером реализации данного интерфейса может быть шаблон [[CAssociativeDataStorage]], специализированный для типов [[IniBasedAssociativeDataStorageImplementation]] и [[InMemoryAssociativeDataStorageImplementation]]. |
Текущая версия на 18:09, 18 августа 2019
Интерфейс для чтения и записи в ассоциативный накопитель с использованием понятия узлов, адресуемых ключами.
Метод | Описание |
---|---|
FindNode | Осуществляет поиск значения по ключу и возвращает реализацию интерфейса IDataStorage, ассоциированного с хранилищем значения. |
CreateNode | Создает новый пустой узел ассоциативного хранилища данных. |
DeleteNode | Уделяет узел ассоциативного хранилища данных, который ассоциирован с заданным ключом. |
Класс | Описание |
---|---|
Интерфейс для чтения и записи в накопитель с произвольной адресацией. |
Интерфейс IAssociativeDataStorage реализуется накопителем, который ассоциирует ключи с узлами. Каждый узел, в свою очередь, связан с собственным накопителем данных IDataStorage, доступ к которому осуществляется с использованием методов интерфейса IAssociativeDataStorage.
Интерфейс не налагает требований по сложности доступа к узлам, семантике, размеру, однородности и уникальности ключей, а также реализациям накопителей, которые ассоциированы с ключами.

Чтение и запись значений, ассоциированных с известными ключами, могут быть осуществлены с помощью метода FindNode с приведением интерфейса соответствующих накопителей и получением их потоков данных для чтения и записи. Этой процедуре аналогичны вызовы наследуемых методов ReadOf и WriteOf интерфейса IArbitrarilyAccessedDataStorage, которые позволяют получить потоки чтения или записи за один вызов.
Примером реализации данного интерфейса может быть шаблон CAssociativeDataStorage, специализированный для типов IniBasedAssociativeDataStorageImplementation и InMemoryAssociativeDataStorageImplementation.
Реализация накопителя, которая поддерживает интерфейс IAssociativeDataStorage, также поддерживает интерфейсы IAssociativeDataStorageInput и IAssociativeDataStorageOutput, которые доступны через использование метода IDataStorage::RepresentAs, вызываемого над this.
- См. также
IAssociativeDataStorageInput Интерфейс для чтения из ассоциативного накопителя с использованием понятия узлов, адресуемых ключами. IAssociativeDataStorageOutput Интерфейс для записи в ассоциативный накопитель с использованием понятия узлов, адресуемых ключами. AssociativeDataStorageRef Ссылочный адаптер, определенный над интерфейсом IAssociativeDataStorage. AssociativeDataStorageOwn Владеющий адаптер, определенный над интерфейсом IAssociativeDataStorage.