Sziasztok!
Szeretnék segítséget kérni, iskolai projectfeladatban veszek részt, egy tárgyiesztköz nyilvántartó programot készítünk. Hárman vagyunk, a GUI, az adatbázis és a backend a feladat, az utóbbit csinálom én. Sajnos nem vagyok még jó a programozásban.
A problémám a következő lenne: A GUI-tól kapott adatokat bele szertnénk tenni egy public objektumba, amit a backend kiolvasna onna, és továbbtaná a MySQL-nek. Valami ilyesmire gondoltam:
/*
public class kozbensoTarolo {
private final String tipus,
alTipus,
megnevezes,
megjegyzes;
private final int leltariszam;
public kozbensoTarolo (String tipus, String alTipus, String megnevezes, String megjegyzes, int leltariszam){
this.tipus = tipus;
this.alTipus = alTipus;
this.megnevezes = megnevezes;
this.megjegyzes = megjegyzes;
this.leltariszam = leltariszam;
}
}
*/
Persye lehet, hogy rossz módon kezdtem, de nem szeretném elszúrni. Kérlek adjatok tanácsot, hogyan lehetne ezt jól megcsinálni.
Előre is köszönöm a segítséget.
- 5662 megtekintés
Hozzászólások
Ezt hívják DTO-nak (Data Transfer Object). Jobban jársz, ha publikus adattagokat definiálsz bele, különben nem fogod tudni olvasni a másik rétegben.
Vagy publikus mezőket csinálsz, vagy publikus "getter"-eket, érdemes a JavaBeans stílusú property metódosokat csinálni. Pl:
private String tipus;
public String getTipus() {
return tipus;
}
public void setTipus(String tipus) {
this.tipus = tipus;
}
Persze publikus setter esetén a field-eket nem fogod tudni final
-ra definiálni, de te döntsd el, hogy csak a konstruktorban adsz értéket a DTO mezőinek, vagy pedig bármikor... Attól függ, hogyan használod a DTO-kat.
- A hozzászóláshoz be kell jelentkezni
Csak feliratkozom, mert érdekel a téma.
- A hozzászóláshoz be kell jelentkezni
+1
--
blogom
- A hozzászóláshoz be kell jelentkezni
Olvass utána az MVC vagy MVP patterneknek, aztán amelyik neked érthetőbb, azt próbáld meg alkalmazni.
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen, hozzáfogok, és ha sikerült valami, akkor megosztom veletek.
Közben ezt találtam: http://www.tutorialspoint.com/design_pattern/mvc_pattern.htm
- A hozzászóláshoz be kell jelentkezni
keresesBT.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
kozbensoTarolo cuccok1 = new kozbensoTarolo();
kozbensoTarolo cuccok2 = new kozbensoTarolo();
cuccok1.setTipus("Tipus1");
cuccok1.setAlTipus("alTipus1");
cuccok1.setLeltariszam(12345);
cuccok1.setMegnevezes("Eszkoznev");
cuccok2 = backend.tovabbit(cuccok1);
}
}
);
Hibaüzenet:
non-static method tovabbit(kozbensoTarolo) cannot be referenced from static context
Mit csináltam rosszul? Miért mondja azt, hogy static?
Plíz segítsetek!
- A hozzászóláshoz be kell jelentkezni
Ez a backend:
public class backend {
public kozbensoTarolo tovabbit(kozbensoTarolo atvitel1)
{
atvitel1 = new kozbensoTarolo();
/*
TODO MySQL adatatvitel
JDBC muveletek
*/
kozbensoTarolo atvitel2 = new kozbensoTarolo();
return atvitel2;
}
}
közben megoldódott, a backendet először példányosítani kell ( /me: csendes facepalm :) )
update: Hibaüzi: Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.
(bocs a sok floodért)
- A hozzászóláshoz be kell jelentkezni
Kicsit off, de jótanács: Nem érdemes magyar változó- és osztályneveket használni, angollal jobban jártok.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Köszi, ezen már én is elgondolkodtam, hogy nem lenne-e jobb angol neveket használni, de a csoporttársam, aki a GUI-t csinálja, magyar változónevekkel kezdte, és már nem akartam belerondítani. Amúgy ez egy beadandó a Duf-on, Informatikai projektvezetés és gyakorlat tárgyból, és hát... közeleg a leadási határidő, én meg totál úgy érzem, hogy nagyobb fába vágtam a fejszémet, mint kellett volna :( valahogy csak sikerül már összehozni... és köszönöm mindenkinek, aki segített, és aki ezután fog.
- A hozzászóláshoz be kell jelentkezni
Légyszi segítsetek, kezdek pánikolni... !
- A hozzászóláshoz be kell jelentkezni