Шаблон преобразования объектов
У меня есть несколько разных классов из внешних источников (не изменяемых), которые представляют одну и ту же концепцию. НапримерAddress
, я имеюcom.namespace1.Address
(с полямиhouseNum
, street
, city
), com.namespace2.Address
(с полямиh
, s
, c
), namespace3.com.CoolAddress
(с полямиhouse_num
, street
, city
).
Проблема в том, что определенные веб-сервисы, которые я использую, требуют определенных типов объектов Address, поэтому мне необходимо создатьcom.namespace1.Address
учитываяnamespace3.com.CoolAddress
, Поля достаточно легко отображать, но я ищу образец того, как это сделать.
С моей точки зрения, экземпляр объектаAddressConverter
не имеет смысла, поскольку нет состояния (только поведение), и когда классы имеют только поведение, оно сводится к статическим методам в служебном классе. В долгосрочной перспективе, когда мне нужно отобразить новые объекты друг на друга, у меня есть одно место для добавления / изменения / удаления методов. То, как это сделано, может измениться, но я знаю, где находится код (в одном месте), и могу изменить отображение, когда мне нужно.
Мысли?