ทำไมต้อง MVC ? 

ต้องบอกก่อนเลยว่า MVC นั้นเป็น pattern การเขียนโค้ดรูปแบบหนึ่งที่ได้รับความนิยมมาก ซึ่งหากเริ่มเขียนซอฟแวร์แล้วยังมีฟังก์ชันน้อย หรือการทำงานน้อยก็อาจจะไม่เห็นภาพว่าทำไมต้องเขียนโค้ดให้เป็น pattern แต่ถ้าเขียนไปซักระยะหนึ่งมีฟังก์ชันเยอะขึ้น แล้วยิ่งถ้าไม่ได้เขียนนานแล้วกลับมาดูโค้ดที่ไม่มีการจัดรูปแบบ รับรองเลยว่าปวดหัวแน่นอน ซึ่งการเขียนโค้ดแบบเป็น pattern นี่แหละจะช่วยให้การอ่านโค้ดง่ายขึ้น และการจัดองค์ประกอบโค้ดที่แยกการทำงานชัดเจนที่เป็นจุดเด่น MVC จะทำให้เราเขียนโค้ดอย่างเป็นระบบและจัดการโค้ดได้ง่ายขึ้น

แนวคิดของ MVC เป็นยังไง ?

แนวคิดของ MVC นั้นจะใช้หลักการของ OOP ซึ่งแบ่งการทำงานหลักๆให้เป็นรูปแบบของ object โดยที่ MVC นั้นกำหนดชื่อ object มาให้เรียบร้อยแล้วตามชื่อเลยก็คือ model view controller ซึ่งมีกติกาคือ การทำงานของทั้ง 3 object นี้จะแยกการทำงานอย่างชัดเจนห้ามก้าวก่ายงานกันเด็ดขาด

หน้าที่ และ ความสำคัญของแต่ละส่วน

Model

การทำงานของ model จะจัดการส่วนที่ข้อมูลทั้งหมดจะคอยเตรียมข้อมูลที่เหมาะสมไว้ และ model นั้นจะทำงานเมื่อ controller ร้องขอเท่านั้น

View

view นั้นจะจัดการส่วนของหน้าตาทั้งหมด หรือส่วนติดต่อกับผู้ใช้โดยตรง (user interface) โดย view นั้นจะรับคำสั่งการทำงานจาก controller และเป็นตัวกลางให้ผู้ใช้ติดต่อกับ controller อีกด้วย

Controller

controller เปรียบเสมือนกับมันสมองและศูนย์กลางการทำงานทั้งหมด จะเห็นว่าทุกส่วนนั้นจะติดต่อกับ controller ทั้งหมดรอคอยคำสั่งจาก controller นอกจากนี้ controller จะจัดการทำงานในส่วนที่เป็น logic ทั้งหมดในระบบ

การประยุกต์ใช้งาน MVC

อ่านทฤษฎีมาแล้วอาจจะยังไม่เห็นภาพว่าแต่ละส่วนทำงานยังไง งั้นมาลองยกตัวอย่างจากการล็อคอินเข้าสู่ระบบของเว็บไซต์ทั่วไปกันเลย

  • เริ่มจากผู้ใช้จะติดต่อ V จากนั้น V จะไปบอกกับ C 
  • C เมื่อได้รับข้อความจาก V จะส่งข้อมูลไปหา M เพื่อตรวจสอบความถูกต้อง
  • เมื่อ M ได้ยินดังนั้นจึงติดต่อฐานข้อมูลเพื่อตรวจสอบข้อมูลแล้วส่งผลกลับไปหา C
  • เมื่อ C ได้ผลการตรวจสอบมาก็จะดำเนินงานในขั้นต่อไป โดยที่มี2กรณีคือ
    • การลงชื่อเข้าใช้สำเร็จ : C สั่งการให้ V ติดต่อผู้ใช้โดยเปลี่ยนหน้าเว็บเป็นหน้าเว็บหลัก
    • การลงชื่อเข้าใช้ไม่สำเร็จ : C สั่งการให้ V ติดต่อผู้ใช้โดยบอกผู้ใช้ว่า รหัสผ่าน ผิดพลาด

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

หากคุณสนใจพัฒนา สตาร์ทอัพ แอปพลิเคชัน และ เทคโนโลยีของตัวเอง ?

อย่ารอช้า ! เรียนรู้ทักษะด้านดิจิทัลเพื่ออัพเกรดความสามารถของคุณ
เริ่มตั้งแต่พื้นฐาน พร้อมปฏิบัติจริงในรูปแบบหลักสูตรออนไลน์วันนี้