แบบฝึกหัดการเขียนโปรแกรม MVC

ฉันกำลังพัฒนาซอฟต์แวร์ใหม่และพยายามทำให้เป็นแบบโมดูลาร์ให้ได้มากที่สุด ฉันเขียนโค้ดมาได้ระยะหนึ่งแล้ว..แต่ฉันขาดหลักการสำคัญบางประการที่ฉันกำลังเรียนรู้ไปพร้อมๆ กัน

ในการพยายามทำให้โปรเจ็กต์ปัจจุบันของฉันเป็นแบบโมดูลาร์ ฉันกำลังใช้สถาปัตยกรรม model-view-controller ในการออกแบบแอปพลิเคชันของฉัน ฉันพบบางสิ่งที่ฉันไม่แน่ใจ ฉันจึงมาหาคุณ...

ฉันจะให้ข้อมูลที่อาจเป็นประโยชน์แก่คุณ:

  • ฉันกำลังพัฒนาแอปพลิเคชันนี้ใน Qt
  • มันเป็นแอปพลิเคชันเดสก์ท็อป
  • ผู้ใช้คนเดียวจึงไม่ซับซ้อนมาก

คำถามของฉันคือ:

  1. เมื่อใช้งานโมดูลต่างๆ (โมเดล มุมมอง ฯลฯ) และคลาสทั้งหมดที่เกี่ยวข้อง ฉันควรเริ่มต้นโมดูลภายในโมดูลหรือไม่ ฉันควรสร้างอินสแตนซ์ 'โมเดล' ภายใน 'คอนโทรลเลอร์' หรือควรสร้างทุกอย่างใน 'MAIN' และส่งโมดูลเป็นข้อมูลอ้างอิง

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

ฉันขอขอบคุณทุกความช่วยเหลือของคุณ

ขอบคุณ.


person PTBG    schedule 08.12.2011    source แหล่งที่มา


คำตอบ (1)


ฉันควรสร้างอินสแตนซ์ 'โมเดล' ภายใน 'คอนโทรลเลอร์' หรือควรสร้างทุกอย่างใน 'MAIN' และส่งโมดูลเป็นข้อมูลอ้างอิง

ส่งโมดูลเป็นข้อมูลอ้างอิง ฉันไม่รู้ว่า Qt มีแนวคิดของแพ็คเกจภายในบันเดิลหรือไม่ แต่ใน Java ฉันมีแพ็คเกจแยกต่างหากสำหรับโมเดลและมุมมอง

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

ใช่ นั่นเป็นหลักการ MVC ที่ถูกต้อง

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

person Gilbert Le Blanc    schedule 08.12.2011