Шаблон проектирования для преобразования одной модели в другую модель

В принципе, у меня есть ряд объектов в моем приложении, и я должен преобразовать их в другие сторонние объекты перед отправкой запроса. При получении ответа я должен преобразовать эти объекты обратно в объекты, поддерживаемые моим приложением.

Какой шаблон я могу использовать для преобразования одного объекта модели в другой в Java?

Ответ 2

Я не думаю, что для этого существует определенная модель, но вам просто нужен класс "конвертер" или "переводчик", который принимает один объект и возвращает другой:

MyObject convert(ThirdPartyObject obj);
ThirdPartyObject convert(MyObject obj);

Ответ 4

Немного сложно определить контекст объектов, но взгляните на шаблон Ассемблера, хотя это и не является технически шаблоном проектирования. Класс Assembler используется для сопоставления с одного объекта на другой, особенно когда один объект является DTO (вроде вашего объекта ответа) для объекта Domain. Структура Dozer может помочь вам с некоторыми из этих утомительных преобразований.

Ответ 5

Адаптер и фасад - это структурные шаблоны. У вас нет шаблонов для преобразования объектов.

В начале созданного шаблона Builder - это один образец, о котором вы можете думать.

Шаблон Generally Builder используется для создания объекта с обязательным и необязательным параметром. Но вы можете настроить его, создав необходимый объект.

Вы можете решить проблему без шаблона. Либо вы можете использовать композицию объекта, либо написать собственный метод для преобразования объекта.

Посмотрите на связанный вопрос SE с примером кода:

Как обрезать объект некоторых своих полей в Java?