MVC เป็นเฟรมเวิร์คที่เกิดขึ้นมาในสมัย Smalltalk-80 เมื่อกว่า 20 ปีมาแล้ว โดยแยกออปเจคที่เก็บข้อมูล (model) ออปเจคที่แสดงข้อมูล (view) และออปเจคที่ติดต่อกับผู้ใช้ (controller) ออกจากกันอย่างชัดเจน การสื่อสารระหว่างออปเจคจะใช้ Observer pattern นั่นหมายความว่าตัวออปเจคที่ถูก observe จะแจ้งการเปลี่ยนแปลงที่เกิดขึ้นในตัวมันให้แก่ตัว observer ทุกตัวโดยไม่จำเป็นต้องรู้ว่าตัว observer แต่ละตัวเป็นใครหรือเป็นออปเจ็คของคลาสไหน ตราบใดที่คลาสนั้นimplement observer (หรือ listener) interfaceRead More →