Почему в Eserv/4 в отличие от Eserv/3 используются нетекстовые файлы конфигурации
Вопрос: а чем в подробности мотивованы мысли делать бинарные (не наглядные) файлы конфигурации ?
- Необходимостью держать кэшированную индексированную копию большого конфига, без желания перечитывания и переиндексации конфига при изменении его состояния внешней программой.
- Увеличением объема и сложности конфига, хранение которого в текстовом виде приведет к тому, что пользователи будут просто портить его формат при ручном редактировании. Это даже с простым конфигом E3 встречалось.
- Желание разрешить непротиворечивое изменение конфига одновременно несколькими программами (при использовании текстовых файлов это требует блокировок и нетривиального отслеживания версий).
- Выбранный бинарный формат — SQLite3 — открытый, очень распространенный, а поэтому более наглядный (в редакторах), чем любой самодельный текстовый формат.
- Поддержка всех старых текстовых конфигов сохранена в полном объеме, т.е. можно использовать новые exe с конфигами старого стиля, или даже старого и нового одновременно.