KnockoutJS - MVVM Framework

Model-View-ViewModel (MVVM)เป็นรูปแบบการออกแบบสถาปัตยกรรมสำหรับการพัฒนาแอพพลิเคชั่นซอฟต์แวร์ MVVM ได้รับการพัฒนาโดย Microsoft Architect John Gossman ในปี 2548 รูปแบบนี้มาจากรูปแบบ Model-View-Controller (MVC) ข้อดีของ MVVM คือแยกส่วนติดต่อผู้ใช้แบบกราฟิกของเลเยอร์แอปพลิเคชันออกจากตรรกะทางธุรกิจ MVVM รับผิดชอบในการจัดการข้อมูลจากโมเดลต้นแบบในลักษณะที่แสดงและจัดการได้ง่ายมาก ViewModel ใน MVVM แสดงถึงสถานะและการกระทำของ View ในเวอร์ชันนามธรรม

คลาสมุมมองไม่ทราบว่ามีคลาส Model และ ViewModel อยู่รวมทั้ง Model และ ViewModel ไม่ทราบว่า View มีอยู่ โมเดลยังไม่รู้ว่ามี ViewModel และ View อยู่

สถาปัตยกรรม

ดู

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

รุ่น

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

ViewModel

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