80% wymagań nie jest znana w chwili rozpoczęcia projektu ;) Waterfall i liczenie na to, że przewidzisz wszystko i zaprojektujesz "zawczasu" to marzenie ściętej głowy.
No, ale skoro nie znasz 80% wymagań, to niczego nie zaprojektujesz dobrze, a więc i tego adaptera także. Z adapterami jest ten problem, że z definicji wycinają część ficzerów tego, co siedzi pod spodem, i to jak sądzę @WeiXiao określił jako "ubogi wspólny mianownik" (swoją drogą szybko lecą z materiałem w tym pszeczkolu, skoro mieli już ułamki zwykłe).
I nie chodzi o żaden ubogi wspólny mianownik
tylko o domenowy adapter nad warstwą persystencji (:P) Tak że twoje domain
w ogóle nie zależy od jakiegokolwiek "cudzego" kodu, tylko od twoich własnych interfejsów i klas. Dzięki temu żadna zewnętrzna zmiana nie rusza ci domeny, a co najwyżej wymaga zmian w odpowiednim adapterze.
No to warto zrobić, jeśli w ogóle jest jakaś domena, walidacja biznesowa, maszyny stanów, publikowanie zdarzeń i w ogóle cokolwiek jest.
Jeśli logika polega na tym, że dane z requestu mamy wzbogacić o aktualną datę, wysłać do jakiegoś innego API, i zapisać sobie gdzieś, aby w razie restartu móc wysłać ponownie, to robienie tego w clean architecture z czterema identycznymi DTO w różnych warstwach wygląda jakby komuś płacili od linijki. (I to niezbyt dużo.) W moim odczuciu to już ani trochę nie jest clean.
To jedno @Shalom, ale ważne jest też że te aplikacje które nie są CRUDami na githuba juniorów na ogół troche sobie pożyją, technologie się zmieniają. Np. jak sobie @WeiXiao wyobrażasz migracją na mikroserwisy i nagle się okazuje że obiekty domenowe ktore były zależne od bazy danych przychodzą/są wysylane z kolejki albo resta?
W dzisiejszym świecie mikroserwisów, to nawet jeśli w 1 na 10 przypadków okaże się, że pierwotne założenie było zbyt uproszczone, to można taki mikroserwis zastąpić nową wersją z odpowiednio lepszą architekturą i wzbogaconą logiką. I tak zyskamy na czasie nie przesadzając w pozostałych 9 przypadkach.
No, a jeśli faktycznie mamy mikroserwisy, a nie "robimy mikroserwisy, bo to teraz modne", to prawdopodobnie od razu da się stwierdzić, czy będzie w nim siedziała zaawansowana logika, czy np. tylko CRUD.