"นั่นแหละ."
"ฉันคิดเกี่ยวกับเรื่องนี้และตัดสินใจที่จะสอนบทเรียนเล็กๆ อีกบทหนึ่งซึ่งจะเป็นประโยชน์กับคุณมาก จนกว่าคุณจะทำงานเป็นโปรแกรมเมอร์ คุณอาจไม่เคยพบคำศัพท์พิเศษบางคำ ดังนั้นฉันจึงอยากแนะนำคุณเกี่ยวกับแนวคิดทั่วไปหลายข้อในตอนนี้"
" ประมาณ 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 ใช้เพื่อบันทึกอ็อบเจกต์และเรียกข้อมูลจากฐานข้อมูล เอนทิตีไม่ทำเช่นนี้ เนื่องจากไม่มีตรรกะใดๆ ดังนั้นจึงไม่สามารถบันทึกได้ อะไรก็ได้"
ตัวอย่าง:
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"
"แต่อย่างน้อยฉันต้องการให้คุณจินตนาการถึงสิ่งที่กำลังพูด หากคุณเจอสิ่งเหล่านี้ในการสนทนาและข้อความ ในฟอรัม หรือในการสัมภาษณ์"
"อืม ขอบคุณ บิลาโบ ใช่ ฉันคิดว่าฉันรู้คำศัพท์ทางเทคนิคไม่มากพอ ขอบคุณอีกครั้ง ขอบคุณมาก"
GO TO FULL VERSION