By | March 6, 2023

ในขณะที่เว็บวิวัฒนาการ แนวคิดของเราเกี่ยวกับสถาปัตยกรรม MVC (ตัวควบคุมมุมมองแบบจำลอง) ก็เช่นกัน เมื่อเว็บแอปพลิเคชันซับซ้อนและโต้ตอบได้มากขึ้น ตรรกะก็เพิ่มมากขึ้นในฝั่งเบราว์เซอร์ของแอปพลิเคชัน ด้วยเหตุนี้ เว็บแอปพลิเคชันจึงเริ่มจำลองแอปพลิเคชันเดสก์ท็อปได้ดีขึ้น แอปพลิเคชันประเภทนี้เรียกว่า RIA (แอปพลิเคชันอินเทอร์เน็ตที่สมบูรณ์) และกำลังเข้าสู่กระแสหลักอย่างรวดเร็ว Javascript กำลังถูกผลักดันถึงขีดจำกัด และเทคโนโลยี RIA ใหม่ๆ เช่น Flash 4 และ Silverlight กำลังเข้าครอบครองเว็บอย่างช้าๆ เกิดอะไรขึ้นที่นี่?

MVC Architecture ถูกนำมาใช้ในอดีตอย่างไร?

ในอดีต ส่วนประกอบทั้งสามของสถาปัตยกรรม MVC ได้แก่ โมเดล มุมมอง และตัวควบคุม จะอยู่บนเว็บเซิร์ฟเวอร์ (ดูรูปด้านล่าง)

การใช้งานสถาปัตยกรรม MVC แบบเก่า:

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

นี่คือเหตุผลที่ AJAX ถือกำเนิดขึ้นในปี 1995 Ajax อนุญาตให้ผู้ใช้โต้ตอบกับอินเทอร์เฟซของเว็บแอปพลิเคชันได้ดีกว่าเมื่อก่อน เนื่องจากคำขอแต่ละรายการสามารถส่งไปยังเว็บเซิร์ฟเวอร์ได้ ซึ่งจะตอบกลับด้วยข้อมูลใหม่เพื่ออัปเดตส่วนต่างๆ ของ หน้าเว็บโดยไม่ต้องโหลดซ้ำทั้งหน้า อย่างไรก็ตาม AJAX ก็ยังไม่ใช่โซลูชันที่สมบูรณ์แบบ เนื่องจากทุกการโต้ตอบของผู้ใช้ยังคงต้องส่งคำขอแยกต่างหากไปยังเว็บเซิร์ฟเวอร์

MVC Architecture ถูกนำมาใช้ในวันนี้อย่างไร?

เมื่อโลกเว็บเริ่มยอมรับ AJAX การเคลื่อนไหวใหม่ก็เริ่มเปิดตัวที่เรียกว่า RIA ด้วยโมเดลนี้ ผู้ใช้สามารถมีประสบการณ์การใช้งานที่หลากหลายโดยไม่ต้องส่งคำขอไปยังเว็บเซิร์ฟเวอร์ในแต่ละการกระทำ เนื่องจากองค์ประกอบมุมมองของสถาปัตยกรรม MVC อยู่ใน ลูกค้า (ดูรูปด้านล่าง)

การใช้งานสถาปัตยกรรม MVC ใหม่:

นี่เป็นเรื่องใหญ่เพราะหมายความว่าเรากำลังคิดใหม่ว่าสถาปัตยกรรม MVC ถูกนำไปใช้กับเว็บแอปพลิเคชันอย่างไร

นี่คือตัวอย่าง สมมติว่าคุณกำลังใช้เว็บแอปพลิเคชันที่แสดงข้อมูล คุณป้อนข้อมูลบางอย่าง กด “Enter” และเว็บแอปพลิเคชันจะส่งคำขอไปยังเว็บเซิร์ฟเวอร์ จากนั้นคอนโทรลเลอร์จะรับข้อมูลที่เหมาะสมจากเซิร์ฟเวอร์ข้อมูล สร้างแบบจำลองของข้อมูลนั้น และส่งกลับไปยังไคลเอนต์ผ่าน JSON ไคลเอนต์ได้รับ JSON และจำลองโมเดลเป็นวัตถุดั้งเดิม หากผู้ใช้ต้องการดูข้อมูลนี้เป็นแผนภูมิวงกลม สามารถใช้แบบจำลองเนทีฟเพื่อสร้างแผนภูมิวงกลม (ซึ่งเป็นมุมมอง) โดยไม่ต้องส่งคำขอไปยังเซิร์ฟเวอร์ ในทำนองเดียวกัน หากผู้ใช้ต้องการดูข้อมูลเป็นกราฟแท่ง สามารถใช้โมเดลเนทีฟเพื่อสร้างกราฟแท่งอีกครั้งโดยไม่ต้องส่งคำขอไปยังเซิร์ฟเวอร์ ทั้งหมดนี้ทำได้โดยไม่ต้องโหลดหน้าซ้ำ และมีเพียงคำขอเดียวที่ส่งไปยังเว็บเซิร์ฟเวอร์

คลิกที่นี่เพื่ออ่านเพิ่มเติมเกี่ยวกับ MVC