2. Ad Třída nemá mít 20 událostí a pokud ano, je něco blbě. Jsem lenivý a tak si značně ulehčím odpověď na tento žvást: Každé přinejmenším GUI je miriáda událostí.
Reagujes na neco jineho. V systemu muze byt udalosti docela dost, ale nemusis mit (pri slusnem navrhu) vsechno na jedne hromade v jedne tride.
Kukacka:
public interface musí být v samostatném souboru, vždy po jednom - alespoň dle Eclipse. Private interface by mi byl v mé situaci jaksi k ničemu.
Ja bych to nedelal, ale pokud chces workaround, tak staticke verejne interfacy uvnitr tridy, ktera ti slouzi jenom jako namespace. Ale ve skutecnosti to asi nechces a chces mit samostatne soubory (ostatne proc ne?)
1. Dokolečka psát addListener, removeListener, ArrayList<Listener> listeners, foreache, instrafacy a teď ještě i abstraktní třídy.
Vidim tam prostor pro refaktoring spolecne funkcionality? Interfacy musis psat tak jako tak. A abstraktni tridy ti udela zadarmo IntelliJ.
2. Ve třídách reagujících na událost tyto interfacy/abstraktní třídy následně implementovat.
Ten kod preci potrebujes tak jako tak.
3. S množstvím event přibývá chaos ten, že nevím, jaký inteface/abstraktClass patří ke které třídě, aniž bych použil funkci hledat a zjistil si to ručně. (v C# nebo v Qt stačí mrknout k eventě/signálu v našeptávači a napíše mi to popis eventy, stejně jako je to u popisů metod - je to kompfortní, je to rychlejší. V javě tato funkcionalita jaksi zcela odpadá.)
Pouzivas nejake slusne IDE? (cimz myslim IntelliJ, pochopitelne)