Rails:: MVC Architecture

Model-view-controller (MVC) คือ สถาปัตยกรรมซอฟแวร์ (software architecture) ที่ช่วยจัดการโครงสร้างของ Web application ให้มีความเป็นสัดเป็นส่วน โดยมีการแบ่ง business logic ออกจากส่วน user interface ทำให้โปรแกรมเมอร์สามารถพัฒนา ทดสอบ หรือ ปรับปรุง maintenance code ในแต่ละส่วนได้ง่าย

MVC ได้ถูกอธิบายไว้ครั้งแรกในปี 1979 โดย Trygve Reenskaug เมื่อครั้งที่ใช้ภาษา Smalltalk [ อ่านเพิ่มเติมได้ ที่นี่ ] Trygve ได้ออกแบบ Application เป็น 3 ส่วน ได้แก่ Models (M) Views (V) และ Controller (C)

  • Model เป็นส่วนการตัดสินใจในการเข้าถึงและใช้งานข้อมูล (Data) ของ Application จัดการเงื่อนไขต่างๆ ในการติดต่อกับ Database จัดการข้อมูลเข้า-ออกเพื่อนำไปประมวลผล รวมไปถึงตอบสนองต่อ request และ state ของ App ด้วย
  • View เป็นส่วนของการนำข้อมูลที่ได้จาก Model มาแสดงผลในรูปแบบที่เหมาะสมให้ผู้ใช้ได้ทราบข้อมูลผ่านทางส่วนติดต่อกับผู้ใช้งาน (User Interface)
  • Controller ทำหน้าที่เป็น “กาว” ระหว่าง Model และ View โดยจะเป็นส่วนที่ตอบรับและโต้ตอบการทำงานของผู้ใช้ หรือ Web browser เพื่อส่งต่อให้ Model เพื่อจัดการข้อมูล และส่งข้อมูลนั้นไปแสดงที่ View

Tha MVC Architecture

ใน Rails application นั้น Request ที่เข้ามา จะเป็นสิ่งแรกที่ตัว Application จะรู้จัก แล้วค่อยถูกสั่งให้ทำงานตามการ Routing ไปที่ Action ต่างๆ ใน Controller โดยตัว Action อาจจะเรียกข้อมูลใน Database เอง อาจจะติดต่อกับ Model หรืออาจจะเรียกไปยัง Action อื่นก็ได้ เมื่อเตรียมข้อมูลแล้วจึงเป็นหน้าที่ของ View ที่จะทำการแสดงผลให้กับผู้ใช้ต่อไป

Leave a Reply

Your email address will not be published. Required fields are marked *