IArbitrarilyAccessedDataStorage: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
{{interface|IArbitrarilyAccessedDataStorage}}
{{interface|IArbitrarilyAccessedDataStorage}}
{{sa_list_begin}}
{{sa_list_add|IArbitrarilyAccessedDataStorageInput}}
{{sa_list_add|IArbitrarilyAccessedDataStorageOutput}}
{{sa_list_add|ArbitrarilyAccessedDataStorageRef}}
{{sa_list_add|ArbitrarilyAccessedDataStorageOwn}}
{{sa_list_end}}
Блоки данных накопителя адресуются произвольно в смысле доступа к произвольным компонентам данных по заданному ключу. При этом определение интерфейса [[IArbitrarilyAccessedDataStorage]], в отличие он большинства реализаций, не налагает ограничений на сложность такого доступа.
Блоки данных накопителя адресуются произвольно в смысле доступа к произвольным компонентам данных по заданному ключу. При этом определение интерфейса [[IArbitrarilyAccessedDataStorage]], в отличие он большинства реализаций, не налагает ограничений на сложность такого доступа.


Строка 16: Строка 9:


Ассоциативный накопитель данных [[IAssociativeDataStorage]], в отличие от [[IArbitrarilyAccessedDataStorage]], вводит понятие узла, который ассоциирован с собственным накопителем данных [[IDataStorage]], и позволяет отдельными методами искать, создавать и удалять узлы, данные которых адресуются с помощью методов [[IArbitrarilyAccessedDataStorage]].
Ассоциативный накопитель данных [[IAssociativeDataStorage]], в отличие от [[IArbitrarilyAccessedDataStorage]], вводит понятие узла, который ассоциирован с собственным накопителем данных [[IDataStorage]], и позволяет отдельными методами искать, создавать и удалять узлы, данные которых адресуются с помощью методов [[IArbitrarilyAccessedDataStorage]].
{{sa_list_begin}}
{{sa_list_add|IArbitrarilyAccessedDataStorageInput}}
{{sa_list_add|IArbitrarilyAccessedDataStorageOutput}}
{{sa_list_add|ArbitrarilyAccessedDataStorageRef}}
{{sa_list_add|ArbitrarilyAccessedDataStorageOwn}}
{{sa_list_end}}

Версия 16:01, 15 августа 2019

Интерфейс для чтения и записи в накопитель с произвольной адресацией.

Методы
МетодОписание
ReadOfВозвращает поток чтения данных из буфера, ассоциированного с заданным ключом.
WriteOfВозвращает поток записи данных в буфер, ассоциированный с ключом.
Наследует открыто
КлассОписание
Базовый интерфейс накопителя данных.

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

Для получения доступа требуется знание ключа. Семантика и длина ключей могут быть различными для разных элементов доступа. Также различными могут быть типы потоков, ассоциированных с этими элементами и возвращаемых методами ReadOf и WriteOf.

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

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

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

См. также
IArbitrarilyAccessedDataStorageInputИнтерфейс для чтения из накопителя с произвольной адресацией данных.
IArbitrarilyAccessedDataStorageOutputИнтерфейс для записи в накопитель с произвольной адресацией.
ArbitrarilyAccessedDataStorageRefСсылочный адаптер, определенный над интерфейсом IArbitrarilyAccessedDataStorage.
ArbitrarilyAccessedDataStorageOwnВладеющий адаптер, определенный над интерфейсом IArbitrarilyAccessedDataStorage.