Задать вопрос
@vetalmatitskiy
testing engineer

Должен ли объект в Java сериализовать сам себя?

Доброго дня, уважаемые Java-гуру.
У меня есть класс, который содержит коллекцию объектов. Есть статическая функция, которая сериализует объект этого класса в xml-файл. Хотел переделать эту функцию в метод класса, но потом задумался правильно ли это. Подскажите, пожалуйста, могут ли методы объекта сериализовать сам объект и потом получать его обратно из файла? Или же правильнее создать некий внешний класс, который будет сериализовать объект исходного класса?
  • Вопрос задан
  • 339 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Vityarik
@Vityarik
1 класс должен решать 1 задачу сериализация это уже вторая задача, и она должна быть в отдельном классе. Как вариант в декораторе исходного класса.
Ответ написан
Комментировать
@vitvov
Можно поступить разными способами. Все зависит от вашей архитектуры.
Я бы посоветовал создать интерфейс, и наследовать его в нужном классе.
public interface IXmlSerialize {
	void serializeToXml(String fileName);
	void deserializeFromXml(String fileName);
}
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
если поместить сереализацию\десереализацию в объект класса, то для десериализации объект должен переписать сам себя, что язык сделать не позволит, поэтому десереализовать можно будет либо в одно из полей того же класса либо в отдельный объект.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы