сохранение/загрузка
От: Ilias  
Дата: 03.01.06 11:46
Оценка:
Есть некий класс с десятком полей данных. Хочется объекты этого класса сохранять в какое-то хранилище и загружать из него. Но из-за некоторых особенностей не могу придумать архитектуру этого процесса.

Жизненный цикл этого объекта выглядит примерно так:
1. Экземпляр класса создается в памяти. Заполняется, предположим, 5 полей. Сохраняется в основное хранилище.
2. (опционально) Экземпляр класса создается в памяти. Первые 5 полей заполняются из основного хранилища, редактируются и сохраняются обратно в основное хранилище.
3. Экземпляр класса создается в памяти. Первые 5 полей заполняются из основного хранилища. Вторые 5 полей тоже чем-то заполняются. Объект сохраняется в дополнительное хранилище.
4. (опционально) Экземпляр класса создается в памяти. Все поля заполняются из дополнительного хранилища. Вторые 5 полей редактируются. Объект сохраняется в дополнительное хранилище.

(Пункты 2 и 4 могут присутствовать один или несколько раз, а могут вообще не присутствовать.)

А особенности такие:
— Хотелось бы, чтобы пункты 1 и 2 были реализованы в одном приложении, а 3 и 4 — в другом.
— Процесс чтения и сохранения в основное и дополнительные хранилища разный. У них разная структура, и даже одни и те же поля будут сохраняться туда по-разному.
— Хотелось бы иметь возможность в качестве основного и дополнительного хранилища использовать файлы разных форматов. Сейчас есть планы на sqlite, но потом хотелось бы добавить, например, xml и обычный текстовый файл.
— В связи с этим хотелось бы обеспечить максимальную модульность программы и минимальное количество связей между классами.

Да! Пишу на С++, если это важно.
Заранее спасибо за ответы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.