Здравствуйте, ArtK, Вы писали:
AK>Устройство позволяет считать следующие данные:
Это одно устройство или разные?
AK>Для одного клиента нужно архивировать только текущую скорость движения и данные GPS, для другого — уровень топлива в баке и статус. Вот и нужно построить программу таким образом, что бы можно было выбирать что именно нужно архивировать.
Почему нельзя поступить просто — написать фильтр к устройству, который по параметрам возвращает набор данных?
Например, так:
ПотокДанных Поток;
// Фильтр.
bool Получить(Устройство, Параметры, Поток);
Хорошо так же спросить клиентов о том, какие задачи они решают этими данными, т.е. для чего одному из них нужны одни данные, а другому — другие. Таким образом, Вы выявите функции разрабатываемой Вами системы. Поскольку система связана с автомобилем, то, скорее всего, набор этих функций будет конечным. Это поможет Вам создать продукт, который будет включать основные функции и подходить практически для всех клиентов.