MVC คืออะไร

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: MVC คืออะไร

MVC คืออะไร

โดย M034 » 18/04/2016 11:43 am

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 เราจะแปลกันว่า รูปแบบการเขียนโปรแกรมแบบหนึ่งที่แยกการทำงานของ Model, View, Controller ออกจากกัน เพื่อให้แต่ละส่วนทำหน้าที่แตกต่างกันและทำงานสอดคล้อง ประสานกัน

การทำงานร่วมกัน MVC
Controller
•เป็นส่วนที่ทำงานเป็นอันดับแรกเมื่อมีโปรแกรมถูกเรียก จาก Web browser
•เป็นส่วนที่ติดต่อการทำงานระหว่างผู้ใช้และโปรแกรม
•มีการติดต่อกับ Database(ฐานข้อมูล) ด้วย Model และแสดงผลข้อมูลผ่านทาง View
•เป็นส่วนที่มีการประมวลผลหลัก ของโปรแกรม

Model
•ดูแลในเรื่องของการติดต่อสื่อสารระหว่าง Object และ Database โดยที่ผู้พัฒนาไม่ต้องยุ่งยากกับการใช้ SQL command
•เป็นงานด้านการตรวจสอบความสัมพันธ์ของข้อมูล มีผลกับฐานข้อมูล

View
•เป็นส่วนที่ต้องแสดงผลผ่าน web browser
•เขียนด้วยพื้นฐานของ HTM, แทรกด้วย script ของ ruby คล้าย PHP,JSP,ASP
•การทำงานสัมพันธ์อยู่กับ controller

MVC เป็นรูปแบบการเขียนโปรแกรมแบบหนึ่งที่แยกการทำงานของ Model, View, Controller ออกจากกัน เพื่อให้แต่ละส่วนทำหน้าที่แตกต่างกันและทำงานสอดคล้องกัน แต่ถ้าไม่แยกออกเป็นส่วนๆ จะทำให้ผลที่ตามมาจากการเขียนโปรแกรมในภายหลังคือ ยิ่งเขียนยิ่งยาว ยิ่งอ่านยาก ถ้าทำงานกันเป็นทีมหลายคน จะทำให้ลำบากในการหาจุดที่ต้องแก้ไขโปรแกรมเพราะเขียนอะไรไว้ก็ไม่รู้เยอะแยะไปหมด ส่งผลให้การทำงานล่าช้า แต่ถ้าแยกเป็นส่วนๆ การแก้ไขข้อมูลก็จะทำได้ง่ายขึ้น ไม่ต้องรอให้คนใดคนหนึ่งทำเสร็จก่อน แต่สามารถเขียนไปพร้อมๆกัน แต่จำเป็นต้องสอดคล้องกัน

ข้างบน