Hatékony kód-elhelyezés, ha Java grafikus alkalmazásról van szó?
Nem tudom, hogy vannak-e itt komolyabb programozók, de egy próbát mindenképp megér.
Jelenleg egyetemen tanulok, és mellette fejlesztek egy alkalmazást. (Hobbi)
A grafikus részeket a Netbeans-nek a GUI-s szerkesztőjével raktam össze. Így minden grafikus menünek/JPanelnek/Ablaknak egy külön fájlja van.
Jelenleg úgy néz ki a kód, hogy van egy főbb fájl(sima Osztály), amiben a main metódus is található. A main metódusba csak példányosítom a ezt az osztályt, hogy elinduljon a program. Viszont ebbe az osztályba tettem minden egyéb JPaneles osztály eseménykezelését is. Tehát minden JPanel, ablak, Frame, ami a programban van, ebbe a Fő osztályba van lekezelve. Mindegyik ilyen mellékosztály példányosítva van. Plusz a példányokon keresztül hajtom végre szintén a fő osztályomban az egyes panelekben található komponensek(Gombok,fieldek, listák) eseménykezelését is. Viszont ez a fő osztály kezd kissé robosztus és átláthatatlan lenni. Így felmerül bennem a kérdés, hogy biztos így kell-e ezeket elhelyezni. Vagy pedig jobban járnék, ha az adott panelhez tartozó komponenseket a panel osztályában kezelem le? Illetve minden, az adott panelhez tartozó kodot is oda helyeznék el. És ott csak a szükséges osztályokat példányosítom hozzá, nem pedig mindent.
Aki ért ezekhez, a Javás grafikus programok kódjához, annak nagyon hálás lennék egy kis segítségért.
MVC vagy MVVM tervezési mintáknak olvass utána, én azt javasolnám neked :)
Mivel a neten ezer helyen részletesen le van írva mi az, ezért nem másolom be ide neked, bízom benne hogy így megtalálod.
De röviden a lényeg: a gui elemeket mindenképp függetlenül kezeld a "modell" osztályoktól, vagyis a tényleges adatkezeléstől. Minden ilyen JPanel és hasonló vackot rakj egy view vagy gui nevű mappába.
Egyébként meg a swing nagyon nagyon elavult, és nagy kódok esetén nehéz szépen tartani, mindenképp javasolnék egy fejlettebb java gui könyvtárat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!