Обсуждение:Сохранение в поток (постановка)

Материал из GedeminWiki
Версия от 02:13, 21 января 2007; SYSDBA (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Хочется, чтобы код нового сохранения в поток не был похож на существующий, который можно охарактеризовать как пример классического спагетти-кода. Следует четко разделить подсистемы записи-считывания данных, получения информации о структуре базы данных, синхронизации объектов, организации диалога с пользователем и, собственно, кода сохранения в поток. Для записи информации следует создать абстрактный базовый класс (АБК) -- writer -- от которого наследовать два класса: BinaryWriter и XMLWriter. Аналогично сделать для класса, который будет считывать и разбирать поток при загрузке объектов в базу. Похожую иерархию (АБК и два наследника) стоит предусмотреть и для объекта, предоставляющего информацию о структуре БД. Наследниками АБК в этом случае будут два класса: использующий информацию из гедыминовского объекта atDatabase и напрямую обращающийся к RDB$ таблицам.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты