Witam,
dzis pytanie moze nie tyle blokujace co dotyczace dobrej praktyki programistycznej.

Chcialabym scentralizowac moj kod wywolujacy kontrolery w managerze.
Obecnie okno programu wyglada nastepujaco:

MainFXML.fxml -> to pusty BorderPane
do niego ladowany jest MenuController (top) jakis WelcomeWidnow controler (center) a nastepnie footerControlelr( bottom) .

po nacisnieciu przycisku na WelcomeWindows chce by srodek sie przeladowal.

i w zaleznosci od akcji wykonywanych rozne elementy beda sie przeladowywac.

Wiem jak to zrobic technicznie. Pytanie dotyczy dobrej praktyki... a mianowicie;

Moge utworzyc w mojej klasie manager funkcje manager.zaladuj(co, gdzie) i wywolywac ja z controllerow.

Lub stworzyc osobne funkcje dla controlerow

manager.zaladujA() { zaladuj(co, gdzie) }.. itd...

Plusem pierwszej metody jest to ze mam jedna funkcje gdzie zmieniaja sie parametry.

Przy drugiej z kolei uniezaleznie sobie kod wewnatrz kontrollera od koniecznosci odwolywania sie do innych kontrollerow, ale kosztem tego, ze w managerze powstanie mi np 100 funkkcji jesli bede miala 100 kontrollerow.
Z drugiej strony zakladajc ze kiedys bede chciala zmienic "wyglad" czy zachowane... to wystrczy ze podmienie klase implementacji managera...

Jakie jest wasze zdanie na ten temat ?