Kit ako uz zaznelo, robis to spatne. Prave naopak, tie servisne triedy sa najlepsie mockuju. Ale zavislosti tiez musia byt interface (okrem POJO). Inak musis pouzivat kadejake spy mocky co sa neodporuca. K tym parametrom - mozes si vytvorit N implementacii pre kazdu kombinaciu parametrov ked chces. Ak su tie parametre final, nie je to jedno?
Bezstavove servisne triedy nepracuju nad zapuzdrenymi datami, preto sa casto nepovazuju za oop. Je to skor nieco ako v C struktura obsahujuca callbacky. Najma v business programovani ide o vycucnutie dat z db, ich spracovanie a preposlanie klientovi (nejake tie formulare). Vacsinou na to netreba ziaden stav (teda zapuzdrovat data) a ak aj treba, nedrzi sa v objekte, ale v nejakom kontexte (ono to je skor kvoli tomu, ze niekto vymyslel, ze to budu singletony). Ale stale sa pouziva polymorfizmus (viac implementacii servis interfacu), implementujuce triedy mozu pouzivat dedenie atd. Proste vec pohladu. Naopak, OOP sa da programovat aj v C, ale nema modifikatory viditelnosti, tak ludia sa budu hadat, ze to nie je oop..