"นั่นแหละ."

"ฉันคิดเกี่ยวกับเรื่องนี้และตัดสินใจที่จะสอนบทเรียนเล็กๆ อีกบทหนึ่งซึ่งจะเป็นประโยชน์กับคุณมาก จนกว่าคุณจะทำงานเป็นโปรแกรมเมอร์ คุณอาจไม่เคยพบคำศัพท์พิเศษบางคำ ดังนั้นฉันจึงอยากแนะนำคุณเกี่ยวกับแนวคิดทั่วไปหลายข้อในตอนนี้"

" ประมาณ 10 ปีที่แล้วE nterprise  J ava  Beans ( EJB ) ถูกใช้อย่างแพร่หลาย"

"JavaBeans หมายถึงอะไร"

"JavaBeans โดยพื้นฐานแล้วหมายถึงเมล็ดกาแฟ (Java เป็นกาแฟชนิดหนึ่ง) มันเป็นเรื่องตลกของไอที"

"ตรรกะทางธุรกิจของโปรแกรมอยู่ในรูปแบบของกลุ่มของวัตถุระดับสูงหรือถั่ว ซึ่งสามารถแลกเปลี่ยนข้อความ ช่วยตัวเอง หากันโดยใช้ชื่อ และอื่นๆ อีกมากมาย โดยปกติแล้ว สิ่งนี้สามารถทำได้ผ่านความสามารถพิเศษ คลาสผู้ปกครองแฟนซีแม้ว่าจะมีแนวทางอื่น ๆ พฤติกรรมของวัตถุดังกล่าวได้รับการควบคุมอย่างเข้มงวด "

"ถั่ว EJB สามประเภทที่มีชื่อเสียงที่สุดคือ:"

"เอนทิตีบีนคือบีนที่มีวัตถุประสงค์เพื่อจัดเก็บข้อมูลบางอย่าง บีนประเภทนี้มีกลไกในตัวสำหรับบันทึกตัวเองและฟิลด์ลงในฐานข้อมูล วัตถุประเภทนี้สามารถถูกทำลายและสร้างใหม่ในภายหลังจากฐานข้อมูล แต่นอกเหนือจากการจัดเก็บข้อมูลแล้ว มันไม่มีเหตุผลใดๆ เลย"

" Session Beanเป็น functional bean แต่ละ session bean มีหน้าที่ของตัวเอง ตัวหนึ่งทำสิ่งหนึ่ง และอีกตัวหนึ่งทำอย่างอื่น ถั่วดังกล่าวทำงานร่วมกับออบเจกต์และบีนอื่นๆ ไม่ใช่กับข้อมูลของตัวเอง"

" Session Beansแบ่งออกเป็นสองประเภท"

" Stateless Session Beanคือ bean ที่ตัวแปรภายในไม่ได้เก็บข้อมูลสำคัญที่มันต้องการในการทำงาน bean ประเภทนี้สามารถถูกทำลายแล้วสร้างใหม่ได้ และมันจะทำหน้าที่เหมือนเดิม"

" Statefull Session Beanคือ bean ที่จัดเก็บข้อมูลภายในที่ใช้เมื่อทำงาน หากเราเรียกใช้เมธอดบน bean ดังกล่าว การเรียกแต่ละครั้งที่ตามมาสามารถใช้ข้อมูลบางส่วนที่ส่งผ่านไปยัง bean ในการเรียกครั้งก่อน ถึงกระนั้น bean นี้ ไม่เหมือนกับวัตถุทั่วไป"

"แต่การใช้เมล็ดถั่วก็ไม่ได้ยอดเยี่ยมเช่นกัน ดังนั้นในไม่ช้าลูกตุ้มจึงเหวี่ยงไปในทิศทางตรงกันข้าม และนักพัฒนาก็เริ่มใช้วัตถุธรรมดาบ่อยขึ้น พวกเขาถึงกับตั้งชื่อพิเศษขึ้นมา"

" POJOเป็นP lain  O ld  J ava  O bjectวัตถุเหล่านี้ไม่มีฟังก์ชันพิเศษใดๆ และไม่สืบทอดวัตถุขั้นสูง เป็นเพียงวัตถุ Java ทั่วไป"

"เมื่อคุณรู้จัก EJB ในทางปฏิบัติ คุณจะเข้าใจความแตกต่าง พูดง่ายๆ ก็คือ POJO คือมีด และ EJB คือมีด Swiss Army ที่คุณใช้โทรออกได้ด้วย"

"การเปรียบเทียบที่น่าสนใจ"

“ใช่ และนี่คืออีกอย่าง”

"เมื่อเวลาผ่านไป อ็อบเจกต์และคลาสเริ่มมีความพิเศษ ด้วยเหตุนี้ นักพัฒนาจึงระบุบทบาทบางอย่างและตั้งชื่อใหม่ให้กับอ็อบเจ็กต์ที่เกี่ยวข้อง"

"อ็อบเจกต์ถ่ายโอนข้อมูล ( DTO ) คืออ็อบเจกต์ที่สร้างขึ้นเพื่อขนส่งข้อมูล อ็อบเจ็กต์เหล่านี้มักมีข้อกำหนดสองประการ พวกเขาต้อง: a) สามารถจัดเก็บข้อมูลได้ b) สามารถจัดลำดับได้ กล่าวอีกนัยหนึ่ง พวกมันใช้สำหรับถ่ายโอนข้อมูลเท่านั้น "

"คุณสร้างอ็อบเจกต์ เขียนข้อมูลที่จำเป็นจากตรรกะทางธุรกิจลงไป ทำให้เป็นอนุกรมใน JSON หรือ XML และส่งไปยังที่ที่ต้องการ หรือในทางกลับกัน: มีข้อความมาถึง คุณยกเลิกการซีเรียลไลซ์เป็นออบเจ็กต์ DTO และดึงข้อมูลจากมัน"

"เอนทิตีเป็นวัตถุที่จัดเก็บไว้ในฐานข้อมูล แต่ไม่มีตรรกะทางธุรกิจใด ๆ คุณสามารถพูดได้ว่านี่คือข้อมูลของโมเดลธุรกิจ"

"เรายังมี data access object ( DAO ) DAO ใช้เพื่อบันทึกอ็อบเจกต์และเรียกข้อมูลจากฐานข้อมูล เอนทิตีไม่ทำเช่นนี้ เนื่องจากไม่มีตรรกะใดๆ ดังนั้นจึงไม่สามารถบันทึกได้ อะไรก็ได้"

ตัวอย่าง:

ความสัมพันธ์ระหว่าง 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"

"แต่อย่างน้อยฉันต้องการให้คุณจินตนาการถึงสิ่งที่กำลังพูด หากคุณเจอสิ่งเหล่านี้ในการสนทนาและข้อความ ในฟอรัม หรือในการสัมภาษณ์"

"อืม ขอบคุณ บิลาโบ ใช่ ฉันคิดว่าฉันรู้คำศัพท์ทางเทคนิคไม่มากพอ ขอบคุณอีกครั้ง ขอบคุณมาก"