Адаптеры
Адаптеры вводят уровень абстракции для работы с различными форматами данных. Все классы, работающие с данными, обращаются к ним через адаптер.
Если класс порождает экземпляры других классов, работающие с данными, то последние наследуют его адаптер. Таким образом, например, источник данных передает свой адаптер полученным из него моделям и рекордсетам.
Адаптер всегда должен соответствовать формату данных, с которым он работает. В противном случае использующий его модуль будет неработоспособен.
Термины
- "сырые данные" — данные в каком-либо формате, например таком как JSON, СБИС-JSON, XML. Служат хранилищем значений;
- адаптер — объект, предоставляющий унифицированный доступ к сырым данным определенного формата (JSON, СБИС-JSON, XML).
Диаграмма уровней абстракции данных
- Module — модуль, работающий с данными;
- Adapter — адаптер для данных;
- RawData — "сырые данные";
Диаграмма контролов
- Record, RecordSet — контрол, работающий с "сырыми" данными;
- RawData — "сырые" данные;
- Adapter — адаптер для "сырых" данных.
Основные адаптеры
Types/entity:adapter.Json
Адаптер для данных в формате JSON.
Используется по умолчанию во всех сущностях, реализующих абстракцию работы с данными.
Types/entity:adapter.Sbis
Адаптер для данных в формате СБИС-JSON (сериализованные объекты бизнес-логики: записи и рекордсеты). Используется по умолчанию источником данных SbisService.
Types/entity:adapter.RecordSet
Адаптер для данных, которые являются рекордами и рекордсетами.
Где можно использовать:
- для источника данных Memory, если в опцию data установлен RecordSet;
- для организации моделей по принципу "матрешки": сырыми данными одной модели является другая модель.