Существует ли стандартная практика хранения данных приложения по умолчанию?

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

В настоящее время исходные данные по умолчанию хранятся в виде заполненного класса в приложении. Обновления данных сохраняются во внешнем файле XML. Этот дизайн позволяет нам включить функцию «сброса» для восстановления исходных данных по умолчанию. Наше обоснование отказа от внешнего хранения значений по умолчанию [например, XML-файл] должен был свести к минимуму риск изменения. Общий объем данных не гарантирует наличие базы данных.

Существует ли стандартная практика хранения данных приложения «по умолчанию»?


person Rox Wen    schedule 03.06.2010    source источник


Ответы (3)


Предположим, я должен был ответить: «Да, есть стандарт. 79% систем во всем мире используют базу данных». Почувствуете ли вы теперь мотивацию к внедрению базы данных? Конечно нет! Ваши конкретные требования не заслуживают таких накладных расходов.

Мы говорим здесь о компромиссах. Нужно ли часто менять значения по умолчанию? Сколько усилий требуется, чтобы изменить их, используя ваш текущий подход? Вам нужно выпустить разные версии приложения с разными настройками по умолчанию? Изменяются ли значения по умолчанию при переходе от UAT к Production?

Если вы изучите свои требования, должно появиться инженерное решение. По всей вероятности, тогда вы сделаете лучший выбор, чем текущая общепринятая практика («стандарт»), принятая большинством людей, которая слишком часто заключается в использовании той же техники, которую они использовали в своем предыдущем проекте.

Что бы это ни стоило, мой личный «стандарт» — экстернализация всего. Даже когда я не ожидаю, что что-то изменится, когда-нибудь, где-нибудь они меняются. Как только я решил экстернализировать, XML или файлы свойств не имеют для меня большого значения.

person djna    schedule 24.06.2010
comment
Похоже, что лучшая практика — проводить оценку в каждом конкретном случае. Хотя я ненавижу находить основную зависимость извне, для этого есть веские аргументы. Спасибо за отзыв. - person Rox Wen; 25.06.2010

файлы свойств звучат нормально для меня. Вы также можете поместить их внутрь банки, чтобы вам не приходилось носить ее с собой. Изменить: функция «сброс» входит в код вашего приложения.

person Ilya Saunkin    schedule 03.06.2010

Наличие этих значений по умолчанию во внешнем файле может упростить обновление значений по умолчанию, вы всегда можете иметь копию этого в загружаемом файле/на компакт-диске и т. д.

person Mark Redman    schedule 03.06.2010