dodanie parametra typu Class je bezna praktika (nazvite si to workaround ak chcete), v springu sa pouziva bezne
to, ci trieda musi mat vsetky zavislosti / veci potrebne pre beh uz v konstruktore, alebo dodatocne, je otazka konvencii a konkretneho, oba maju pre a proti. taky zmieneny spring pouziva settery a anotaciu (@postconstruct, initializingbean), ine frameworky pchaju vsetko do konstruktora. opticky mam pocit, ze java pouziva skor settery a gettery, ... lebo tradicia.
v kazdom pripade, public premenne su grc. pythonisti maju na to oznacenie "unpythonic", ak chcete
Ak to niekto povazuje za porusenie OOP principov
lebo ked nahodou potrebujete pri nastaveni premennej dodat dalsie operacie (napr. zalogovat), mate smolu
okrem toho milion frameworkov vie pracovat s gettrami a settrami (javabeans konvencie) a su nervozne, ked nenajdu gettery a settery
okrem toho, triedy su definovane metodami a nie stavom (kontrakt, ako povedal p. Jirsak). zial, java nema properties ako groovy, javascript ci c#, tak sa to riesi prave takto, ale principialne si na to velmi rychlo zvyknete (kazde ide vam ich vygeneruje)