IAssociativeDataStorage

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску

Интерфейс для чтения и записи в ассоциативный накопитель с использованием понятия узлов, адресуемых ключами.

Методы
МетодОписание
FindNodeОсуществляет поиск значения по ключу и возвращает реализацию интерфейса IDataStorage, ассоциированного с хранилищем значения.
CreateNodeСоздает новый пустой узел ассоциативного хранилища данных.
DeleteNodeУделяет узел ассоциативного хранилища данных, который ассоциирован с заданным ключом.
Наследует открыто
КлассОписание
Интерфейс для чтения и записи в накопитель с произвольной адресацией.

Интерфейс IAssociativeDataStorage реализуется накопителем, который ассоциирует ключи с узлами. Каждый узел, в свою очередь, связан с собственным накопителем данных IDataStorage, доступ к которому осуществляется с использованием методов интерфейса IAssociativeDataStorage.

Интерфейс не налагает требований по сложности доступа к узлам, семантике, размеру, однородности и уникальности ключей, а также реализациям накопителей, которые ассоциированы с ключами.

Отношения интерфейса IAssociativeDataStorage. Сплошными стрелками показано наследование. Пунктиром с подписью "r" показана поддерживаемость реализацией и приводимость с помощью IDataStorage::RepresentAs.

Чтение и запись значений, ассоциированных с известными ключами, могут быть осуществлены с помощью метода FindNode с приведением интерфейса соответствующих накопителей и получением их потоков данных для чтения и записи. Этой процедуре аналогичны вызовы наследуемых методов ReadOf и WriteOf интерфейса IArbitrarilyAccessedDataStorage, которые позволяют получить потоки чтения или записи за один вызов.

Примером реализации данного интерфейса может быть шаблон CAssociativeDataStorage, специализированный для типов IniBasedAssociativeDataStorageImplementation и InMemoryAssociativeDataStorageImplementation.

Реализация накопителя, которая поддерживает интерфейс IAssociativeDataStorage, также поддерживает интерфейсы IAssociativeDataStorageInput и IAssociativeDataStorageOutput, которые доступны через использование метода IDataStorage::RepresentAs, вызываемого над this.

См. также
IAssociativeDataStorageInputИнтерфейс для чтения из ассоциативного накопителя с использованием понятия узлов, адресуемых ключами.
IAssociativeDataStorageOutputИнтерфейс для записи в ассоциативный накопитель с использованием понятия узлов, адресуемых ключами.
AssociativeDataStorageRefСсылочный адаптер, определенный над интерфейсом IAssociativeDataStorage.
AssociativeDataStorageOwnВладеющий адаптер, определенный над интерфейсом IAssociativeDataStorage.