NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Transformacia konzolovej aplikacie do GUI

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Marek Šimon
Člen
Avatar
Marek Šimon:17.7.2016 16:11

Ahojte.

Rozhodol som sa pustit do nejakeho prveho lahsie projektu a zacal som teda robit aplikaciu v konzolovom rozhrani typu zaznamnik. Databaza jednoducha, stlpec ID (auto increment), stlpec zaznam (text zapisku). Cely program funguje (resp. bude fungovat :D ) ako cakanie na uzivatelsky vstup s moznymi prikazmi ako pridaj, odober, zmen, ukonci (pripade dalsie, ak ma nieco napadne). To v kratkosti o projekte.

Vec je ta, ze som na zaciatku a nemam to este tak velmi rozpracovane a plan bol taky, ze spracujem tuto verziu konzolovu a ked to budem mat hotove to prevediem do GUI pomocou JavaFX. Lebo k tomu som sa este nedostal.

Otazka znie.. oplati sa postupovat takto alebo lepsie spravim, ked sa rovno naucim tvorbu GUI a priamo to spracovavam do GUI? Jedna sa mi o tu transformaciu z konzolovej verzie do GUI verzie. Ci tam budem musiet nejake velke zmeny robit v kode alebo sa na urcite eventy a stlacania tlacitiek (pripadne vyber z drop listu) "pripevni" nejaka funkcionalita casti aplikacie.

Prepacte za takto polozenu otazku, ale nerobil som vobec GUI, takze neviem ako to presne funguje.

 
Odpovědět
17.7.2016 16:11
Avatar
mara
Člen
Avatar
mara:17.7.2016 17:32

Ahoj,

záleží na tom, jestli aplikaci píšeš objektově. Pokud ji máš napsanou hezky, tak není problém předělat do GUI.

Pokud to ale máš všechno naplácané v jedné třídě, tak to problém bude.

Nahoru Odpovědět
17.7.2016 17:32
Co na srdci, to na Facebooku
Avatar
Odpovídá na Marek Šimon
Patrik Valkovič:17.7.2016 17:42

Obvykle se dělává to, že je konzolová aplikace (ta může fungovat samostatně) a k ní se pouze připíše GUI. Ale jediné, co to GUI dělá je to, že posílá příkazy do konzole ;-) Tedy budeš mít GUI, ale bez jakékoliv logiky a budeš pouze volat příkazy na konzolovou aplikaci.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
17.7.2016 17:42
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Marek Šimon
Člen
Avatar
Marek Šimon:17.7.2016 19:40

Snazim sa robit co najviac objektovo, akurat s navrhom nemam skusenosti a je dost problem pre mna zakomponovat veci do spravnych tried, pripadne rozdelit nejaku logiku, ak by to bol kod efektivnejsi.

Napriklad Databazu, kde je vytvarane pripojenie som spracoval nie ako class, ale enum s jednou konstantou (vlastne singleton). Akurat som cital, ze sa tento navrhovy vzor zle debugguje (co v mojej aplikacii by nemalo robit problem, ale napriklad v praxi nepouzitelne) a ze lepsie je vyuzivat Dependency Injection. Ale ten musim este zistit co je, potom to prevediem na to, ale zatial to necham tak.

Mam triedu s HasMapou, do ktorej davam jednotlive prikazy a tu kolekciu budem odovzdavat triede, ktora bude plan davat dokopy, pre prikazy jednotlive vytvaram samostatne triedy (PrikazVytvorit, PrikazOdobrat,..), kazdy ma svoju logiku co vlastne sa robi po zadani prikazu, vsetky musia implementovat IPrikaz interface a mam tam triedu, ktora spracovava tie prikazy. Proste snazim sa to robit co najviac objektovo.

Tak teoreticky, ked budem mat trosku viac kodu, tak to hodim do zipu a mozete sa na to potom niekto mrknut a povedat, ze ci to robim dobre :)

 
Nahoru Odpovědět
17.7.2016 19:40
Avatar
Odpovídá na Marek Šimon
Patrik Valkovič:17.7.2016 19:47

Tak až toho bueš mít víc, můžeš mi to poslat a já se na to podívám. Ale dopředu upozorňuji, že více kritizuji než chválím a neberu si servítky (abys potom nebyl zklamaný, že je tam třeba vše špatně...) :D

Nahoru Odpovědět
17.7.2016 19:47
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Marek Šimon
Člen
Avatar
Odpovídá na Patrik Valkovič
Marek Šimon:17.7.2016 19:50

Haha :D To je dobre! Pokial to teda bude konstruktivna kritika ]:-> Tak ja si ta teda budem pamatat a poslem ti to do spravy.. ale popri tom sa ucim kopu veci novych, takze mi to bude chvilku trvat, nez to bude mat normalnejsi format hodny kritiky :D

 
Nahoru Odpovědět
17.7.2016 19:50
Avatar
Marek Šimon
Člen
Avatar
Marek Šimon:18.7.2016 20:38

Ahojte.. tak mám už časť dokončenú a je plne fungujúca konzolová aplikácia (i keď tam veľa funkcií nie je, ale o tie teraz nejde).

Chcem sa opýtať, či by bol niekto ochotný sa mrknúť na zdroják a napísať mi ohľadom návrhu čo zlepšiť ako upraviť triedy atp. Neočakávam nič konkrétne,chcem to ale prerábať potom do GUI a tak nejaké tie tipy ako tie triedy vylepšiť pre jednoduchšie prehodenie do GUI verzie by boli veľmi vítané :)

Nie je tam toho veľa, možno tak 10-15 tried a nemajú veľa kódu :)

Ak bude niekto teda ochotný, tak napíšte, pošlem vám zdroják :) Je tam všetko okomentované.

 
Nahoru Odpovědět
18.7.2016 20:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.