"Ето къде си."

„Помислих за това и реших да ви предам още един малък урок, който ще ви бъде много полезен. Докато не работите като програмист, вероятно никога няма да се сблъскате с няHowва специална терминология, така че сега искам да ви запозная с няколко общи понятия.“

„Преди около 10 години E nterprise  Java B  beans ( EJB ) стана широко използван.

„Какво означава JavaBeans?“

„JavaBeans основно означава кафе на зърна (Java е вид кафе). Това е IT хумор.“

„Бизнес логиката на една програма е под формата на група от обекти от високо ниво or бобове, които могат да обменят съобщения, да се спасяват, да се намират по име и много повече. Обикновено това се постига чрез специален супер- фантастичен родителски клас, въпреки че имаше и други подходи. Поведението на такива обекти беше строго регулирано."

„Трите най-известни вида EJB зърна са:“

" Entity Bean е bean, чиято цел е да съхранява определени данни. Този тип bean има вграден механизъм за запазване на себе си и своите полета в база данни. Този тип обект може да бъде унищожен и след това пресъздаден по-късно от базата данни. Но освен съхраняването на данни, това няма ниHowва логика."

" Session Bean е функционален bean. Всеки сесиен bean има своя собствена функция. Един прави едно нещо, а друг нещо друго. Такива bean-ове работят с други обекти и bean-ове, а не със собствените си данни."

" Session Beans са разделени на две категории."

Сесийният Bean без състояние е bean, чиито вътрешни променливи не съхраняват важни данни, от които се нуждае, за да функционира. Този тип bean може да бъде унищожен и след това пресъздаден и той ще изпълнява функцията си Howто преди.“

Bean с пълна сесия на състоянието е bean, който вътрешно съхранява данните, които използва, когато работи. Ако извикаме методи на такъв bean, тогава всяко следващо извикване може да използва някои от данните, предадени на bean в предишни извиквания. Все пак този bean не е същото като обикновен обект."

„Но използването на зърна също не беше чак толкова страхотно, така че скоро махалото се завъртя в обратната посока. И разработчиците започнаха да използват обикновени обекти по-често. Те дори измислиха специално име.“

POJO е обикновен стар обект  на  Java . Тези обекти нямаха ниHowви суперфункции и не наследиха суперобекти. Те бяха просто обикновени обекти на Java  .

"Когато опознаете EJB на практика, ще разберете разликата. Грубо казано, POJO е нож, а EJB е швейцарско ножче, което можете да използвате и за телефонни разговори."

"Интересно сравнение."

— Да, и ето още нещо.

"С течение на времето обектите и класовете започнаха да се специализират. В резултат на това разработчиците идентифицираха определени роли и дадоха нови имена на съответните обекти."

„Обект за прехвърляне на данни ( DTO ) е обект, създаден за пренос на данни. Тези обекти обикновено имат две изисквания. Те трябва: а) да могат да съхраняват данни, б) да могат да се сериализират. С други думи, те се използват само за прехвърляне на данни ."

„Създавате обект, записвате необходимите данни от бизнес логиката в него, сериализирате го в JSON or XML и го изпращате, където трябва. Или обратното: пристига съобщение, десериализирате го в DTO обект и извличане на данни от него."

Обектът е обект, който се съхранява в база данни. Но те не съдържат ниHowва бизнес логика. Може да се каже, че това са данните на бизнес модела.“

„Имаме и обект за достъп до данни ( DAO ). DAO се използва за записване на обекти и извличането им от база данни. Обектът не прави това, тъй като няма ниHowва логика, така че не може да записва всичко навсякъде."

Пример:

Връзка между DAO и обект
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Коментари
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.

"Това е всичко за сега."

„Въпреки че това е малък уводен урок, все още няма да можете да разберете повече точно сега. Можем да прекараме дни в разговори по всяка от тези теми и можем да прекараме години, покривайки EJB.“

„Но искам поне да можете да си представите Howво се казва, ако срещнете тези неща в разговори и съобщения, във форуми or в интервю.“

„Хмм. Благодаря ти, Билаабо. Да, мисля, че не знам достатъчно технически термини. Още веднъж, много ти благодаря.“