MVC เป็นหนึ่งในหลายๆ pattern ของ Design pattern ซึ่งเป็น Model
หรือรูปแบบในการวางโครงสร้างโปรแกรมทำให้แยกกันระหว่าง M=Model V=View C=Coltroller
1.Model เป็นการตัดสินใจในนการเข้าถึงและใช้งานข้อมูล(Data)
2.View เป็นส่วนของการนำข้อมูลที่ได้จาก Model มาแสดงผลให้ผู้ใช้ได้ทราบข้อมูลผ่านทางส่วนติดต่อกับผู้ใช้งาน (User Interface)
3.Controller เป็นส่วนที่ตอบรับและโต้ตอบการทำงานของผู้ใช้(Client) โดยจะเป็นตัวกระตุ้นให้ Model และ View ทำงานไปในทิศทางเดียวกัน
รูป. พื้นฐานการทำงานของ MVC จากรูป จะเห็นได้ว่า เวลาที่ Client เรียก หรือร้องขอ(Request) เข้ามาจะไปที่ Control ก่อนเพื่อแยกแยะว่าจะต้องทำอะไร แล้วค่อยไปหา Model แล้วสร้าง View ส่งกลับไปให้ Client จะเห็นได้ว่า การทำงานของโปรแกรมจะแบ่งแยกหน้าที่กันอย่างชัดเจนทำให้เราสามารถปรับเปรี่ยนแก้ไข หรือ พัฒนาเพิ่มเติมได้โดยที่ไม่มีผลกระทบต่อการทำงานในส่วนอื่นๆ ซึ่งผมจะยกตัวอย่างการทำงานของ Hardware เพื่อให้เห็นภาพการทำงานมากขึ้น เช่น คอมพิวเตอร์ 1 เครื่องนั้น ถ้าต้องการให้คอมพิวเตอร์นั้นประมวลผลเร็วขึ้นก็สามารถที่จะถอด CPU ตัวเก่า แล้วนำ CPU ตัวใหม่มาเสียบ แล้วใช้ต่อได้เร็วกว่าเดิม ต้องการให้การแสดงผลที่ดีขึ้นก็เปลี่ยนการ์ดจอ แต่ขอบเขตคือต้องอยู่ในสิ่งที่ mainboard รับได้ด้วย เราจะทำยังไง ซึ่งเป้นอะไรที่ยากมากเพราะจะต้องใช้สถาปัตยกรรมหรือแนวคิดของ Software ที่ดีด้วยซึ่ง MVC ก็ทำได้ เช่น ถ้าเราต้องการ Control ใหม่ให้ได้ผลลัพท์เหมือนเดิม แล้วเอาไปเสียบที่เดิม ก็เสร็จ ทำให้ไม่ต้องมาสนใจ View และ Model เป็นต้น