LINUX.ORG.RU

История изменений

Исправление mashina, (текущая версия) :

Это лучше, чем делать класс для сохранения и класс для загрузки. Классом более естественно делать сущность, а не действие.

Смешиваешь две проблемы в одну.

Сериализатор и десериализатор имеет смысл выполнять в одном классе если они разделяют некоторое значительное кол-во кода и состояний чего обычно не бывает. Потому оптимальная форма это ф-я или класс для каждой из операций.

Представление кодека в виде реализации интерфейа с парой ф-ий это средство разделения кода на модули. Оно нужно если в приложении имеется некоторая сущность которая может динамически выбирать кодек из заранее неизвестного списка (модули, например, могут подгружаться). При этом в реализациях интерфейса за ф-ми load(...) и save(...) могут скрываться отдельные классы сериализатора.

Исходная версия mashina, :

Это лучше, чем делать класс для сохранения и класс для загрузки. Классом более естественно делать сущность, а не действие.

Смешиваешь две проблемы в одну.

Сериализатор и десериализатор имеет смысл выполнять в одном классе если они разделяют некоторое значительное кол-во кода и состояний чего обычно не бывает. Потому оптимальная форма это либо ф-я или класс для каждой из ф-ии.

Представление кодека в виде реализации интерфейа с парой ф-ий это средство разделения кода на модули. Оно нужно если в приложении имеется некоторая сущность которая может динамически выбирать кодек из заранее неизвестного списка (модули, например, могут подгружаться). При этом в реализациях интерфейса за ф-ми load(...) и save(...) могут скрываться отдельные классы сериализатора.