ฉันมีคำถามในขณะที่ออกแบบสถาปัตยกรรมสำหรับโครงการรอบ MVC (เป็นโครงการ SDK C ++ / Marmalade ฉันไม่ได้ใช้กรอบ MVC ใด ๆ โดยเฉพาะฉันกำลังทำอยู่)
ในหลาย ๆ บทความ (เช่นเดียวกับบทความเดิมของ Steve Burbek ) ฉันอ่านแนวคิด "MVC triad" ที่ทำให้ฉันรู้สึกแย่ตั้งแต่ที่ฉันใช้แนวคิดนี้ไป เมื่อฉันอ่านครั้งแรกดูเหมือนว่าแอปพลิเคชันจะถูกสร้างขึ้นรอบ ๆ "MVC triad" - หนึ่งชิ้นสำหรับแต่ละส่วน UI ที่ฉันควรจะ - แต่ฉันพบว่ามันค่อนข้างไม่ยืดหยุ่นและฉันคิดว่านั่นไม่ใช่วิธีที่ MVC ตั้งใจใช้ จากนั้นทำการค้นคว้าเพิ่มเติมเกี่ยวกับปัญหาฉันพบตัวอย่างของการมีเพศสัมพันธ์อย่างแน่นหนาของคอนโทรลเลอร์และมุมมองคือความสัมพันธ์แบบ 1 ต่อ 1 - TextEditView มี TextEditController
แต่เมื่อฉันกลับไปที่โครงการของฉันฉันพบว่าอาจเป็นประโยชน์ที่จะมีตัวควบคุมหนึ่ง (โดย 'หน่วยทางลอจิคัล' เช่น AddElementController) และหลายมุมมองสำหรับตัวควบคุมนั้น
ฉันคิดอย่างชัดเจนเกี่ยวกับบางสิ่งบางอย่างเช่น AddElementController ที่ควรมีแท็บ UI บางประเภท ฉันควรมี AddElementController ที่มี AddElementTabView และหลาย AddImageView, AddSoundView ฯลฯ สำหรับแท็บหรือไม่ หรือฉันควรจะมี 'ตัวควบคุมย่อย' ที่แตกต่างกันสำหรับแต่ละมุมมองแท็บ
โดยสรุปและเกี่ยวกับรูปแบบ MVC (ไม่ใช่ความเข้าใจเฉพาะของกรอบ X / การนำไปใช้ของรูปแบบนี้) ถูกต้องหรือไม่ที่จะมีมุมมองหลายอย่างสำหรับตัวควบคุมหรือแต่ละมุมมองควรมีตัวควบคุมเฉพาะหรือไม่
นอกจากนี้ถูกต้องหรือไม่ที่จะเก็บข้อมูลสถานะบางอย่างไว้ในคอนโทรลเลอร์หรือควรไร้สถานะ (หมายความว่าควรวางสถานะในรูปแบบสถานะที่ไม่ใช่โดเมนบางโดเมน)
ขอบคุณทุกคนล่วงหน้า