ความแตกต่างระหว่าง MVC และ MVP ความแตกต่างระหว่าง

Anonim

MVC vs. MVP

ตัวควบคุมวิวรุ่น (หรือที่เรียกว่า MVC) เป็นรูปแบบสถาปัตยกรรมที่ใช้เฉพาะในด้านวิศวกรรมซอฟต์แวร์. รูปแบบเฉพาะนี้ใช้เพื่อแยกสิ่งที่เรียกว่า 'ตรรกะโดเมน' ซึ่งเป็นเพียงเหตุผลของแอ็พพลิเคชันสำหรับผู้ใช้ มันถูกแยกออกจากการป้อนข้อมูลและการนำเสนอ (เรียกว่า GUI) และอนุญาตให้มีการพัฒนาที่เป็นอิสระ

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

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

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

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

สรุป:

1. MVC เป็นรูปแบบสถาปัตยกรรมที่แยกลัทธิโดเมน MVP เป็นลูกหลานของ MVC ที่ออกแบบมาเพื่อช่วยในการทดสอบหน่วยอัตโนมัติและปรับปรุงการแยกความกังวล

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