Wzór konwersji obiektu
Mam kilka różnych klas pochodzących ze źródeł zewnętrznych (niemodyfikowalnych), które reprezentują tę samą koncepcję. Na przykładAddress
. mamcom.namespace1.Address
(z polamihouseNum
, street
, city
),com.namespace2.Address
(z polamih
, s
, c
),namespace3.com.CoolAddress
(z polamihouse_num
, street
, city
).
Problem polega na tym, że niektóre usługi sieciowe, których używam, wymagają pewnych typów obiektów Adresowych, więc muszę utworzyćcom.namespace1.Address
dawaćnamespace3.com.CoolAddress
. Pola są wystarczająco łatwe do zmapowania, ale szukam wzoru, jak to zrobić.
Z mojego punktu widzenia obiekt instancjiAddressConverter
nie ma sensu, ponieważ nie ma stanu (tylko zachowanie), a gdy klasy mają tylko zachowanie, sprowadza się do metod statycznych w klasie narzędziowej. Na dłuższą metę, za każdym razem, gdy muszę zmapować nowe obiekty, mam jedno miejsce do dodawania / modyfikowania / usuwania metod. Sposób, w jaki to się robi, może się zmienić, ale wiem, gdzie znajduje się kod (w jednym miejscu) i mogę zmienić mapowanie, gdy zajdzie taka potrzeba.
Myśli?