В моем текущем PHP-проекте у меня есть несколько классов, которые являются чистыми классами данных, подобно тому, что называется POCO в мире C # (сейчас я опускаю getters \ setters):
class MyEntity {
public $id;
public $name;
}
Мне нужно сериализовать \ десериализовать такие сущности в разных форматах (например, в / из JSON и XML) и не допускать сериализации отдельно от самих классов.
Для десериализации Образец строителя кажется хорошим выбором, но я не уверен насчет сериализации. Я полагаю, что я упускаю что-то очевидное здесь.
Звучит как шаблон стратегии мне. Определите общий интерфейс и реализуйте различные стратегии сериализации. Вызывать на основе контекста.
Других решений пока нет …