Адаптеры

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

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

Адаптер всегда должен соответствовать формату данных, с которым он работает. В противном случае использующий его модуль будет неработоспособен.

Термины

  • "сырые данные" — данные в каком-либо формате, например таком как 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;
  • для организации моделей по принципу "матрешки": сырыми данными одной модели является другая модель.

Диаграмма классов

См. также