Java saját szoftver készítése 11. rész – Hibák kezelése

A Megrendelés nyilvántart szoftverem utolsó finomításait végzem, most foglalkoztam azzal, hogy bolondbiztossá tegyem. Ennek az lenne a célja, hogy akármilyen adatokat is adjon be a felhasználó, a szoftver ne álljon le hibajelzéssel, hanem kapjam el a kivételeket vagy előzzem meg a hibajelzések adását.

Ebben a bejegyzésben ezeken a hibakezelési dolgokon megyek végig, és ahol szükséges, ott forráskóddal mutatom meg, miről van szó.

Olvass továbbJava saját szoftver készítése 11. rész – Hibák kezelése

Továbbfejlesztési lehetőségek

Az utolsó simításokat végzem a StudiCore Java SE tanfolyamának nagy feladatán, most a hibakezelés van soron, végig gondolom, hogy egy átlagos felhasználó mit tud elrontani az adatfelvitel során, és bolondbiztosra írom a kódot. Például, tizedesvesszőt használ a tizedespont helyett, vagy tizedespontot a tizedesvessző helyett, attól függően, mi van beállítva a programban. Vagy nem ad meg adatot, és a szoftver meg a nem megadott adatot dolgozná fel, ami azonnal hibát dob.

De ez a bejegyzés most nem erről szól, inkább arról írnék, hogyan is lehet továbbfejleszteni a szoftverem. Így néz most ki a program, a Megrendelés nyilvántartó nevet kapta, és feltöltöttem a tesztekhez fake adatokkal:

Olvass továbbTovábbfejlesztési lehetőségek

Java saját szoftver készítése 10. rész – Listener használata

Mielőtt tovább mennénk, írnék a többféle Listener-ről, melyet beépítettem a programomba. Ezekkel figyelem a program futtatását, és ha egy előre meghatározott dolog bekövetkezik, akkor végrehajtatok egy újabb programrészletet. (Kapcsolódó: What is the purpose of a listener in Java?)

Nagyon sok érdekességet találtam, úgyhogy most ezekről lesz szó részletesen.

Olvass továbbJava saját szoftver készítése 10. rész – Listener használata

Saját pénztermelő projekt 5. rész

Egész pontosan egy hónap és 10 nap telt el azóta, hogy megnéztük, az interneten ingyenesen fellelhető adatokból hogyan lehet pénzt csinálni programozással. Azóta tovább tisztult a leosztás, mivel a webprogramozó, akivel társultam, kissé lassú, rájöttem, hogy jobban megéri kézben tartani az adatokat is.

Most az a leosztás, hogy folyamatosan találom az interneten az újabb adattárakat, amiket én dolgozok fel a Java programozás segítségével, és neki csak az SQL adatbázist küldöm át. Az egyetlen feladata így csak az adatbázis feltöltése, és beillesztése a projektbe.

Felvetődhet a kérdés, miért nem én csinálom a webes részt? A fő válasz erre az, hogy nincs rá időm, és az a része a feladatnak amúgy is kevésbé érdekes. A Java-s rész viszont sokkal érdekesebb, erről mondok is pár szót.

Olvass továbbSaját pénztermelő projekt 5. rész

Java saját szoftver készítése 9. rész – MVC és DAO az Áfa modulon keresztül

Úgy látom, hogy korábban nem beszéltem a rendeléseket rögzítő szoftverem elvi felépítéséről, a különféle kérések kezeléséről, az adatok kiszolgálásáról. Itt jön képbe az MVC és a DAO, most ezeken keresztül mutatom be, hogy működik a programom.

Ha megnézzük a StudiCore Java SE tanfolyamának részleteit, ott az Adatbázisok + Java SE haladó eszközök kurzus 35. fejezete ez: JDBC II. – A DAO minta használata az adatbáziskezelésben. A DAO lényege, hogy a különféle adatbázisműveleteket DAO osztályokba tesszük, és objektumokat adunk át nekik, minden adattáblát önálló DAO osztály kezel.

Gondolom az előnye világos, ahelyett, hogy véletlenszerűen írogatnánk a sokféle forrásfájlba az adatbázis hívásokat, egy vagy több DAO osztályba tesszük ezeket, így módosításkor mindent könnyen megtalálunk, és nem lesz keveredés.

Az MVC pedig a szoftvertervezésben használatos szerkezeti minta, amely szétválasztja az adatok kezelését és a felhasználói felületet. Így anélkül lehet az adatokkal foglalkozó részt módosítgatni, hogy a felhasználók bármit is észre vennének belőle. Ezt az ötletet a mentorom adta még a tervezés korai szakaszában, és ennem megfelelően terveztem meg a programot.

Olvass továbbJava saját szoftver készítése 9. rész – MVC és DAO az Áfa modulon keresztül

Java saját szoftver készítése 8. rész – Értesítő ablakok

Írtam egy saját ErrorDialog osztályt, hogy a hibaellenőrzések során kapott problémákat meg tudjam jeleníteni. Aztán most eszembe jutott, hogy a StudiCore képzésében is volt szó ezekről az értesítő ablakokról, így a saját osztályra nem lesz szükség.

Ezek használata sokkal kényelmesebb, szabványosabb lesz a kód, és már egy csomó dolgot megírtak előttem, amit csak fel kell használnom:

Olvass továbbJava saját szoftver készítése 8. rész – Értesítő ablakok

Java saját szoftver készítése 7. rész – OrderDetailsDialog problémák

Hú, egy jó érdekes feladatba futottam bele, gondoltam megosztom mindenkivel. Van az OrderDetailsDialog osztályom, ami gyakorlatilag egy JDialog ablak. Ez a felelős a megrendelések felviteléért és a módosításáért is. Most még különösebb dizájn nélkül így néz ki:

orderdetailsdialog.jpg

Haladjunk felülről lefelé.

Olvass továbbJava saját szoftver készítése 7. rész – OrderDetailsDialog problémák

Most alakul ki a végleges terv

A múltkoriakban írt terveket egyedül készítettem, mivel pont akkor úgy jöttek össze az ünnepek, hogy nem volt elérhető a mentorom. Azóta már itt van, és a segítségével nagyon jó dolgok készülnek. Most úgy néz ki, hogy végre kikristályosodtak a felelősségi körök, és erről hamarosan újra írni is fogok.

Épp ma kaptam választ a mentoromtól egy utolsó kérdésre, ezt még értelmezem, és akkor tudom teljessé tenni az osztály diagrammot, illetve elkészíteni a szekvencia diagrammot. Közben már próbálgattam az ötleteket Javaban is, szereintem a megvalósítással nem lesz gond.

Tehát hétvégéig várható a kész modell, aztán utána a megvalósítás.

Java saját szoftver készítése 6. rész – ModifyDeleteDialog

Ugye most ott tartok a tervezésben, hogy vannak különféle listáim, melyek objektumokat tartalmaznak:

  • List<Order> orders: ez a megrendeléseket tartalmazza
  • List<Company> companies: a vállalatainkat tartalmazza
  • List<Customer> customers: a megrendelőket tartalmazza
  • List<Vat> vats: az áfa értékeket tartalmazza (mondjuk ez lehetne vatValues, szebben hangzik)
  • List<Employee> employees: ez pedig a dolgozóinkat tartalmazza

Tervezek egy ModifyDeleteDialog dialógusablakot, melyet az objektumok szerkesztéséhez és törléséhez használnék fel. Ez megkapná az adott listát, aminek elemeit egymás alatt megjelenítené. Ha a customers-t kapja meg, akkor az ügyfeleket listázza egymás alatt, ha az employees-t, akkor meg a munkatársainkat.

Olvass továbbJava saját szoftver készítése 6. rész – ModifyDeleteDialog