— Iată-te.

"M-am gândit la asta și am decis să vă mai predau o mică lecție care vă va fi de mare ajutor. Până când lucrați ca programator, probabil că nu veți întâlni niciodată o terminologie specială, așa că vreau să vă prezint acum câteva concepte comune."

„Cu aproximativ 10 ani în urmă, E nterprise  Java Beans  ( EJB ) a devenit utilizat pe scară largă .

„Ce înseamnă JavaBeans?”

"JavaBeans înseamnă practic boabe de cafea (Java este un fel de cafea). Este umor IT."

„Logica de afaceri a unui program a luat forma unui grup de obiecte de nivel înalt, sau fasole, care puteau să facă schimb de mesaje, să se salveze, să se găsească unul pe altul după nume și multe altele. De obicei, acest lucru se realiza printr-un super-special. clasă de părinți de lux, deși existau și alte abordări. Comportamentul unor astfel de obiecte era foarte reglementat."

„Cele mai faimoase trei tipuri de boabe EJB sunt:”

„Un Entity Bean este un bean al cărui scop este stocarea anumitor date. Acest tip de bean are încorporat un mecanism de salvare a sinelui și a câmpurilor sale într-o bază de date. Acest tip de obiect poate fi distrus și apoi recreat ulterior din baza de date. Dar în afară de stocarea datelor, nu are nicio logică.”

"Un Session Bean este un bean funcțional. Fiecare session bean are propria sa funcție. Unul face un lucru, iar altul face altceva. Astfel de fasole funcționează cu alte obiecte și fasole, nu cu propriile date."

" Session Beans sunt împărțite în două categorii."

„Un Stateless Session Bean este un bean ale cărui variabile interne nu stochează date importante de care are nevoie pentru a funcționa. Acest tip de bean poate fi distrus și apoi recreat și își va îndeplini funcția la fel ca înainte.”

„Un bean Statefull Session este un bean care stochează intern datele pe care le folosește atunci când lucrează. Dacă apelăm metode pe un astfel de bean, atunci fiecare apel ulterioar poate folosi o parte din datele transmise bean-ului în apelurile anterioare. Totuși, acest bean nu este același lucru cu un obiect obișnuit.”

„Dar nici folosirea fasolei nu a fost deloc grozavă, așa că în curând pendulul a oscilat în direcția opusă. Și dezvoltatorii au început să folosească obiecte obișnuite mai des. Au venit chiar și cu un nume special.”

„Un POJO este un obiect J ava Plain  O ld Aceste obiecte nu aveau super-funcții și nu moșteneau super-obiecte. Erau doar obiecte Java obișnuite . ” 

„Când vei ajunge să cunoști EJB în practică, vei înțelege diferența. În linii mari, un POJO este un cuțit, iar un EJB este un cuțit al armatei elvețiene pe care îl poți folosi și pentru a efectua apeluri telefonice.”

— Interesantă comparație.

— Da, și iată încă un lucru.

"De-a lungul timpului, obiectele și clasele au început să fie specializate. Drept urmare, dezvoltatorii au identificat anumite roluri și au dat noi nume obiectelor corespunzătoare."

„Un obiect de transfer de date ( DTO ) este un obiect creat pentru a transporta date. Aceste obiecte au de obicei două cerințe. Ele trebuie: a) să poată stoca date, b) să fie serializabile. Cu alte cuvinte, sunt folosite doar pentru transferul de date. ."

„Creați un obiect, scrieți datele necesare din logica de afaceri în el, îl serializați în JSON sau XML și îl trimiteți acolo unde trebuie. Sau invers: sosește un mesaj, îl deserializați într-un obiect DTO. și extrageți date din acesta."

"O entitate este un obiect care este stocat într-o bază de date. Dar ele nu conțin nicio logică de afaceri. Ați putea spune că acestea sunt datele modelului de afaceri."

„Avem și obiectul de acces la date ( DAO ). Un DAO este folosit pentru a salva obiecte și pentru a le prelua dintr-o bază de date. Entitatea nu face acest lucru, deoarece nu are nicio logică, deci nu poate salva orice oriunde.”

Exemplu:

Relația dintre un DAO și o entitate
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Comentarii
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.

"Asta este tot pentru acum."

„Chiar dacă aceasta este o mică lecție introductivă, încă nu veți putea înțelege mai multe în acest moment. Am putea petrece zile întregi vorbind despre fiecare dintre aceste subiecte și am putea petrece ani de zile acoperind EJB.”

„Dar vreau ca cel puțin să vă puteți imagina ce se spune dacă întâlniți aceste lucruri în conversații și mesaje, pe forumuri sau într-un interviu”.

"Hmm. Mulțumesc, Bilaabo. Da, cred că nu știu suficienți termeni tehnici. Din nou, mulțumesc mult."