ฉันกำลังศึกษาการออกแบบโดยใช้โดเมน (DDD) และพบเจอกัน: Event Driven และ Event sourcing ฉันรู้ว่ามันเกี่ยวกับการเผยแพร่กิจกรรมจากผู้ผลิตสู่ผู้บริโภคและจัดเก็บบันทึกดังนั้นคำถามของฉันคือ:
การขับเคลื่อนกิจกรรมและการจัดหากิจกรรมแตกต่างกันอย่างไร
ฉันกำลังศึกษาการออกแบบโดยใช้โดเมน (DDD) และพบเจอกัน: Event Driven และ Event sourcing ฉันรู้ว่ามันเกี่ยวกับการเผยแพร่กิจกรรมจากผู้ผลิตสู่ผู้บริโภคและจัดเก็บบันทึกดังนั้นคำถามของฉันคือ:
การขับเคลื่อนกิจกรรมและการจัดหากิจกรรมแตกต่างกันอย่างไร
คำตอบ:
คำว่าสถาปัตยกรรมขับเคลื่อนด้วยเหตุการณ์นั้นใช้สำหรับระบบซอฟต์แวร์ประเภทใดก็ได้ซึ่งขึ้นอยู่กับส่วนประกอบที่สื่อสารเป็นหลักหรือโดยเฉพาะผ่านเหตุการณ์ต่างๆ ตัวอย่างเช่นกรอบ GUI หลัก ๆ เกือบทุกแพลตฟอร์มที่ได้รับความนิยมใช้กลไกที่ขับเคลื่อนด้วยเหตุการณ์ คำว่า "เหตุการณ์" มักจะหมายถึง "การแจ้งเตือน" ในบริบทนี้
การจัดหากิจกรรมเป็นคำพิเศษมากขึ้นหมายถึงระบบที่เก็บสถานะแอปพลิเคชันทั้งหมดเป็นลำดับเหตุการณ์ คลาสที่เป็นที่รู้จักกันดีของตัวอย่างคือระบบฐานข้อมูลธุรกรรมซึ่งเก็บการเปลี่ยนแปลงสถานะใด ๆ ในบันทึกธุรกรรม ที่นี่คำว่า "เหตุการณ์" หมายถึง "การเปลี่ยนแปลงสถานะ" มากกว่าไม่เพียง แต่จะ "แจ้งเตือน"
ดังนั้นระบบใด ๆ ที่ใช้ "การจัดหาเหตุการณ์" เป็นกลไกหลักสามารถมองเห็นได้ว่าเป็นระบบที่ขับเคลื่อนด้วยเหมือนกัน แต่สิ่งที่ตรงกันข้ามนั้นไม่เป็นความจริงโดยทั่วไป