Model View Controller (โมเดล วิว คอนโทรลเลอร์) หรือ MVC (เอ็ม วี ซี) คือ
สถาปัตยกรรมซอฟแวร์ Architecture Software (อาคิเทคเชอะ ซอฟต์แวร์) ที่มีการแบ่งแยกระบบออกเป็น 3 ส่วนหลักๆ ได้แก่ data model (ดาต้า โมเดล), user interface (ยูส อินเตอร์เฟส), and control logic (แอ็น คอนโทรล ลอจิค)
Controller (คอนโทรลเลอร์)
- เป็นส่วนที่ทำงานเป็นอันดับแรกเมื่อมีโปรแกรมถูกเรียก จาก Web browser (เว็บ บลาวเซอร์)
- เป็นส่วนที่ติดต่อการทำงานระหว่างผู้ใช้และโปรแกรม
- มีการติดต่อกับ Databases (ดาต้าเบส) ด้วย Model (โมเดล) และแสดงผลข้อมูลผ่านทาง View (วิว)
- เป็นส่วนที่มีการประมวลผลหลัก ของโปรแกรม
Model (โมเดล)
ใน Object-oriented (ออปเจ็ค โอเรียนเทด) การใช้เว็บ database-driven (ดาต้าเบส-ดรีฟเอ็น) จะเป็นแบบ MVC ซึ่ง Model จะประกอบด้วย class ที่เชื่อมต่อกับ RDBMS (อาร์ ดี บี เอ็ม เอส) ใน Ruby On Rails class model (รูบี ออน เรล คลาซ โมเดล) จะถูกจัดการผ่านทางข้อมูล ซึ่งโปรแกรมเมอร์ทุกคนควร ต้องทำเป็น subclass (ซับคราส) คือ Active Record (แอค' ทิฟว เรค'เคิร์ด)และโปรแกรมจะเข้าใจอัตโนมัติว่าจะใช้ตาราง RDBMS อันไหน และเรียกคอลัมภ์ต่างๆในตารางเอง ใน Model มีการติดต่อกับ Active Record เพื่อช่วยจัดการงานด้าน Database เช่น
- ดูแลในเรื่องของการติดต่อสื่อสารระหว่าง Object และ Database โดยที่ผู้พัฒนาไม่ต้องยุ่งยากกับการใช้ SQL command (เอส คิว แอล คอมมาน)
- เป็นงานด้านการตรวจสอบความสัมพันธ์ของข้อมูล มีผลกับฐานข้อมูล
- ตรวจสอบความถูกต้อง Handles validation (แฮนเดิล อินแวล'ลิเดท)
View (วิว)
- เป็นส่วนที่ต้องแสดงผลผ่าน Web browser (เว็บ เบราว์เซอร์)
- เขียนด้วยพื้นฐานของ HTML (เอชทีเอ็มแอล)
- การทำงานสัมพันธ์อยู่กับ controller
- นำ component (ค็อมโพ-เน็นท) มาใช้ใหม่ได้
Referenve : en.wikipedia.org/wiki/Model–view–controller