Cześć. Mam takie wyzwanie.
Sprzątamy bałagan w monolicie,. Padł pomysł od zewnętrznego architekta, aby zacząć od separacji danych, w taki sposób, aby było generyczne repozytorium dla każdej tabeli (niestety architek umie tylko w C#). Zawierające metody getAll, save, delete. Teraz w wyższej warstwie powinienem poskładać zapytanie, tak aby getAll nie brało całej tabeli, a tylko to co chcę. W .Net jest coś takiego jak Iquerable, wygląda jak stream, tylko że działa w ten sposób, że najpierw jest "filtrowanie", a na końcu dopiero pobiera z repozytorium tylko te dane, których potrzebuje.
Celem jest to, żeby można było w ramach testów jednostkowych podmieniać same repozytoria na mocki.
Wcześniej zespół używał SpringData, więc mam powstrzymywane JpaReposytory w kontroler.
Osobiście wolałbym użyć kompozycji, opakować to repozytorium w jakieś proxy i mockować to proxy na poziomie testów.
Ale może ktoś ma doswiadzczenie z czymś takim i mógłby coś poradzić innego?
Pozdrawiam