"Tessék."

"Gondoltam, és úgy döntöttem, hogy megtanítok még egy apró leckét, ami nagyon hasznos lesz az Ön számára. Amíg nem dolgozik programozóként, valószínűleg soha nem találkozik különleges terminológiával, ezért most szeretném bemutatni néhány általános fogalommal."

"Körülbelül 10 évvel ezelőtt az E nterprise  Java B eans ( EJB ) széles körben elterjedt.

"Mit jelent a JavaBeans?"

"A JavaBeans alapvetően kávébabot jelent (a Java egy kávéfajta). Ez informatikai humor."

"Egy program üzleti logikája magas szintű objektumok vagy beanok csoportja volt, amelyek képesek voltak üzeneteket váltani, megmenteni magukat, név szerint megtalálni egymást, és még sok minden mást. Általában ezt egy speciális szuper- divatos szülőosztály, bár voltak más megközelítések is. Az ilyen objektumok viselkedése erősen szabályozott volt."

"Az EJB bab három leghíresebb fajtája a következő:

"Az Entity Bean egy olyan bean, amelynek célja bizonyos adatok tárolása. Ez a fajta bean egy beépített mechanizmussal rendelkezik, amellyel magát és a mezőit adatbázisba mentheti. Az ilyen típusú objektumok megsemmisíthetők, majd később újra létrehozhatók az adatbázisból. De az adatok tárolásán kívül nincs logikája."

"A Session Bean egy funkcionális bean. Minden session komponensnek megvan a maga funkciója. Az egyik egy dolgot csinál, a másik pedig mást. Az ilyen komponensek más objektumokkal és komponensekkel működnek, nem a saját adataikkal."

" A Session Beans két kategóriába sorolható."

"A Stateless Session Bean olyan bean, amelynek belső változói nem tárolnak fontos adatokat, amelyek a működéséhez szükségesek. Ez a fajta bean megsemmisíthető, majd újra létrehozható, és ugyanúgy ellátja funkcióját, mint korábban."

"A Statefull Session Bean egy olyan komponens, amely belsőleg tárolja a munka közben használt adatokat. Ha metódusokat hívunk meg egy ilyen komponensen, akkor minden következő hívás felhasználhatja az előző hívásokban a komponensnek átadott adatok egy részét. Mégis, ez a komponens nem ugyanaz, mint egy normál objektum."

"De a bab használata sem volt olyan nagyszerű, így az inga hamarosan az ellenkező irányba lendült. És a fejlesztők gyakrabban kezdtek használni a közönséges tárgyakat. Még egy különleges nevet is kitaláltak."

"A POJO egy P lain  O ld  J ava  O objektum . Ezeknek az objektumoknak nem volt szuperfüggvényük, és nem örököltek szuperobjektumokat. Csak szokásos Java objektumok voltak."

"Ha a gyakorlatban megismered az EJB-t, megérted a különbséget. Nagyjából a POJO egy kés, az EJB pedig egy svájci kés, amivel telefonálni is tudsz."

– Érdekes összehasonlítás.

– Igen, és még egy dolog.

"Idővel az objektumok és osztályok specializálódni kezdtek. Ennek eredményeként a fejlesztők azonosítottak bizonyos szerepeket, és új neveket adtak a megfelelő objektumoknak."

"Az adatátviteli objektum ( DTO ) egy adatátvitelre létrehozott objektum. Ezeknek az objektumoknak általában két követelménye van. Ezeknek: a) képesnek kell lenniük adatok tárolására, b) szerializálhatónak kell lenniük. Más szóval, csak adatátvitelre használják őket. ."

"Létrehozol egy objektumot, beleírod a szükséges adatokat az üzleti logikából, szerializálod JSON-ba vagy XML-be, és elküldöd oda, ahova kell. Vagy fordítva: érkezik egy üzenet, deszerializálod egy DTO objektummá. , és kinyerj ki belőle adatokat."

"Az entitás egy adatbázisban tárolt objektum. De nem tartalmaznak semmilyen üzleti logikát. Mondhatnánk, hogy ezek az üzleti modell adatai."

"Az adatelérési objektum ( DAO ) is rendelkezésünkre áll. A DAO az objektumok adatbázisba mentésére és onnan való lekérésére szolgál. Az entitás ezt nem teszi meg, mivel nincs logikája, így nem tudja menteni bármit bárhol."

Példa:

A DAO és egy entitás közötti kapcsolat
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Hozzászólások
UserEntity is a class that stores user data
UserDAO is a class that retrieves data (UserEntity objects) from the database and stores it there again after modifying it.

"Ez minden most."

"Annak ellenére, hogy ez egy kis bevezető lecke, most még mindig nem fogsz tudni többet megérteni. Napokig beszélgethetünk ezekről a témákról, és éveket tölthetünk az EJB-vel."

"De azt szeretném, ha legalább el tudnád képzelni, hogy mit mondanak, ha beszélgetésekben és üzenetekben, fórumokon vagy egy interjúban találkozik ezekkel a dolgokkal."

"Hmm. Köszönöm, Bilaabo. Igen, azt hiszem, nem ismerek elég szakkifejezéseket. Még egyszer köszönöm szépen."