Обсуждение:Сохранение в поток (постановка)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
Хочется, чтобы код нового сохранения в поток не был похож на существующий, который можно охарактеризовать как пример классического спагетти-кода. Следует четко разделить подсистемы записи-считывания данных, получения информации о структуре базы данных, синхронизации объектов, организации диалога с пользователем и, собственно, кода сохранения в поток. Для записи информации следует создать абстрактный базовый класс (АБК) -- writer -- от которого наследовать два класса: BinaryWriter и XMLWriter. Аналогично сделать для класса, который будет считывать и разбирать поток при загрузке объектов в базу. Похожую иерархию (АБК и два наследника) стоит предусмотреть и для объекта, предоставляющего информацию о структуре БД. Наследниками АБК в этом случае будут два класса: использующий информацию из гедыминовского объекта [[atDatabase]] и напрямую обращающийся к RDB$ таблицам. | Хочется, чтобы код нового сохранения в поток не был похож на существующий, который можно охарактеризовать как пример классического спагетти-кода. Следует четко разделить подсистемы записи-считывания данных, получения информации о структуре базы данных, синхронизации объектов, организации диалога с пользователем и, собственно, кода сохранения в поток. Для записи информации следует создать абстрактный базовый класс (АБК) -- writer -- от которого наследовать два класса: BinaryWriter и XMLWriter. Аналогично сделать для класса, который будет считывать и разбирать поток при загрузке объектов в базу. Похожую иерархию (АБК и два наследника) стоит предусмотреть и для объекта, предоставляющего информацию о структуре БД. Наследниками АБК в этом случае будут два класса: использующий информацию из гедыминовского объекта [[atDatabase]] и напрямую обращающийся к RDB$ таблицам. | ||
| + | [[Участник:SYSDBA|AndreiK]] 00:14, 21 January 2007 (CET) | ||
Версия 02:14, 21 января 2007
Хочется, чтобы код нового сохранения в поток не был похож на существующий, который можно охарактеризовать как пример классического спагетти-кода. Следует четко разделить подсистемы записи-считывания данных, получения информации о структуре базы данных, синхронизации объектов, организации диалога с пользователем и, собственно, кода сохранения в поток. Для записи информации следует создать абстрактный базовый класс (АБК) -- writer -- от которого наследовать два класса: BinaryWriter и XMLWriter. Аналогично сделать для класса, который будет считывать и разбирать поток при загрузке объектов в базу. Похожую иерархию (АБК и два наследника) стоит предусмотреть и для объекта, предоставляющего информацию о структуре БД. Наследниками АБК в этом случае будут два класса: использующий информацию из гедыминовского объекта atDatabase и напрямую обращающийся к RDB$ таблицам. AndreiK 00:14, 21 January 2007 (CET)