к локальной сети.
Данные из нее я получаю через протокол HTTP в виде Json строки. И эти данные я десериализую в объект MyMeteostationInfo .
Это объект мне нужно сохранять в базу данных SqLite.
Сохранение данных я хочу сделать гибким, чтобы не пришлось переписывать код при добавлении нового датчика и при добавлении новой метеостанции.
Первый способ который я придумал это создать аттрибут DbColummNameAttribute. А второй способ это создание интерфейса IDbEntity. Какая реализация будет правильнее?
Думаю что ни та, ни другая. И по-моему в Совершенном коде был пример чуть ли не один в один. И там был совет создать что-то вроде сущностей "значение" с именем и значением, и их уже можно хранить. Т.е. универсальность обеспечивается не каким-то супер классом, а возможностью делать что-то похожее на словари. Тогда перекомпиливать вообще ничего не надо
т.е Создать что то типа KeyValuePair?
Да, только чуть шире. Но идею вы похоже поняли. Может быть свой keyValue придется расширить айдишником, или ещё чем то. Не исключаю, что надо будет дописать несколько конвертеров. Но суть в том, что он должен всасывать в себя любой тип параметра и любое значение. Оцените еще требования к быстродействию
Обсуждают сегодня