Projekt integrujący dużo serwisów zew. problem mapperow

0

Cześć, mam projekt integrujący dużo zewnętrznych serwisów które są całkiem niezależne od firmy, na razie jest ich ok 20 ale bardzo szybko może nam się rząd wielkości zwiększyć 10 krotnie. Problemem jaki widzę jest to że już mamy 5 modeli dto które służą do komunikacji, jak można się domyślić do każdego modelu jest specyficzny mapper. Czy macie może doświadczenie jak podejść do problemu dużej ilości warstwy tłumaczenia własnego modelu na dtos?

0

Jeśli wewnętrznie ma to być obsługiwane wspólnie to powinno być tylko jedno dto z dodatkowym pole "additional_fields" Mapper mapuje wszystko na wspólny model a dodatkowe wartości specyficzne dla danej integracji, które rzeczywiście potrzebujesz wrzucasz do additional_fields.

2

Technicznie jest szansa, że każdy serwis wymyśli jakąś głupotę więc mapper per service brzmi ok. To co możesz próbować to wyciąganie jakichś wspólnych zachowań do współdzielonnych funkcji. Np. jak kilka serwisów implementuje jakiś standard (dość popularne np. w branży travel) w pewien określony sposób (np. da się zrobić jedną rzecz na kilka różnych sposobów) to możesz wyciągnąć tą wspólną część jeśli ma to sens

1 użytkowników online, w tym zalogowanych: 0, gości: 1