ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

 

Model View Controller (โมเดล วิว คอนโทรลเลอร์) หรือ MVC (เอ็ม วี ซี) คือ


    สถาปัตยกรรมซอฟแวร์ Architecture Software (อาคิเทคเชอะ ซอฟต์แวร์) ที่มีการแบ่งแยกระบบออกเป็น 3 ส่วนหลักๆ ได้แก่ data model (ดาต้า โมเดล), user interface (ยูส อินเตอร์เฟส), and control logic (แอ็น คอนโทรล ลอจิค)

Model View Controller
Model View Controller 

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 (วิว)

 
Referenve : en.wikipedia.org/wiki/Model–view–controller

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีการ Export จาก html มาเป็น Excel โดยใช้ php
โดย Ittichai_chupol พ 13 พฤษภาคม 2020 6:26 pm บอร์ด Programming - PHP
2
104
พ 13 พฤษภาคม 2020 7:36 pm โดย Ittichai_chupol
สอบถามวิธีการทำให้หน้าเว็บปรับขนาดตามจอค่ะ
โดย Anonymous อ 12 พฤษภาคม 2020 11:35 pm บอร์ด HTML CSS
4
217
พ 13 พฤษภาคม 2020 8:52 pm โดย บุคคลทั่วไป
ตั้งค่าความกว้างของรูป 100% ในส่วนเสริม Latest News Enhanced ยังไงครับ
โดย toonytoony2004 จ 11 พฤษภาคม 2020 8:30 pm บอร์ด Joomla Development
1
277
อ 12 พฤษภาคม 2020 2:38 pm โดย tsukasaz
สอบถามวิธีการคำนวน sum(prices) แบบรายปี
โดย Anonymous อ 10 พฤษภาคม 2020 9:25 am บอร์ด Programming - PHP
2
602
อ 12 พฤษภาคม 2020 8:34 am โดย บุคคลทั่วไป
สอบถามการเพิ่มข้อมูลลงฐานข้อมูลค่ะ php, mysql
โดย Anonymous ศ 08 พฤษภาคม 2020 11:20 pm บอร์ด Programming - PHP
12
4950
พ 03 มิ.ย. 2020 9:55 am โดย Sirayu
วิธีบันทึกข้อมูลเข้ารหัสmd5
โดย champp ศ 08 พฤษภาคม 2020 5:55 pm บอร์ด PHP Knowledge
0
1029
ศ 08 พฤษภาคม 2020 5:55 pm โดย champp
human error คืออะไร
โดย champp ศ 08 พฤษภาคม 2020 12:43 pm บอร์ด PHP Knowledge
0
74
ศ 08 พฤษภาคม 2020 12:43 pm โดย champp
Input Type สำหรับใช้งาน
โดย champp ศ 08 พฤษภาคม 2020 12:17 pm บอร์ด PHP Knowledge
0
77
ศ 08 พฤษภาคม 2020 12:17 pm โดย champp
วิธีเปลี่ยนภาพไปเรื่อยๆ ด้วย JavaScript
โดย champp ศ 08 พฤษภาคม 2020 12:14 pm บอร์ด PHP Knowledge
0
78
ศ 08 พฤษภาคม 2020 12:14 pm โดย champp
เครื่องมือในการคำนวณ Bandwidth
โดย prmindphp พฤ 07 พฤษภาคม 2020 6:50 pm บอร์ด MindPHP News & Feedback
0
160
พฤ 07 พฤษภาคม 2020 6:50 pm โดย prmindphp
วิธีตรวจสอบข้อมูลซ้ำ
โดย champp พฤ 07 พฤษภาคม 2020 6:15 pm บอร์ด PHP Knowledge
0
1403
พฤ 07 พฤษภาคม 2020 6:15 pm โดย champp
เขียน CSS ในลักษณะต่างๆ
โดย champp พฤ 07 พฤษภาคม 2020 5:35 pm บอร์ด CSS Knowledge
0
77
พฤ 07 พฤษภาคม 2020 5:35 pm โดย champp
เริ่มเเล้ว "โครงการตู้เย็นข้างบ้านต้านภัย COVID-19" แจกฟรี.. เมล็ดพันธุ์ผักสวนครัวแก่เกษตรกรและประชาชนทั่วไป 10,000 ชุด
โดย thatsawan พ 06 พฤษภาคม 2020 9:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
192
พฤ 07 พฤษภาคม 2020 5:05 pm โดย thatsawan
padding ต่างจาก margin อย่างไร
โดย champp พฤ 07 พฤษภาคม 2020 4:49 pm บอร์ด CSS Knowledge
0
165
พฤ 07 พฤษภาคม 2020 4:49 pm โดย champp
IR infrared obstacle detection sensor คืออะไร
โดย champp พฤ 07 พฤษภาคม 2020 4:16 pm บอร์ด IOT - Internet of things
0
77
พฤ 07 พฤษภาคม 2020 4:16 pm โดย champp
ตู้จดหมายแจ้งเตือนผ่านไลน์ได้อย่างไร
โดย champp พฤ 07 พฤษภาคม 2020 3:58 pm บอร์ด IOT - Internet of things
0
143
พฤ 07 พฤษภาคม 2020 3:58 pm โดย champp
วิธีการบันทึกข้อมูลหลายตารางพร้อมกัน
โดย champp พฤ 07 พฤษภาคม 2020 3:39 pm บอร์ด PHP Knowledge
0
1752
พฤ 07 พฤษภาคม 2020 3:39 pm โดย champp
R - เครียร์ข้อมูลทดสอบ ออกจากหน้าเว็บ
โดย mindphp พฤ 07 พฤษภาคม 2020 10:24 am บอร์ด OdooJob.com - Developer
0
1
พฤ 07 พฤษภาคม 2020 10:24 am โดย mindphp
เกษตรกรปลูกพืชเตรียมรับเงินเยียวยา มีขั้นตอนตรวจดังนี้
โดย thatsawan อ 05 พฤษภาคม 2020 5:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
142
พ 06 พฤษภาคม 2020 7:53 pm โดย arenaofblood
อัพเดทแบบดับเบิล! Joomla เวอร์ชั่น 3.9.17 กับ 3.9.18
โดย tsukasaz อ 05 พฤษภาคม 2020 2:18 pm บอร์ด MindPHP News & Feedback
0
118
อ 05 พฤษภาคม 2020 2:18 pm โดย tsukasaz