ขึ้นอยู่กับความหมายของตรรกะทางธุรกิจ "ตรรกะ" ใด ๆ ที่ให้ความหมายกับเนื้อหาของโมเดลควรอยู่ในโมเดล ในคำถามที่เชื่อมโยงคำตอบที่ได้รับคะแนนสูงสุดดูเหมือนจะกำหนด "ตรรกะทางธุรกิจ" เป็นสิ่งที่เกี่ยวข้องกับข้อมูล สิ่งนี้สมเหตุสมผลจากมุมมองที่ว่าข้อมูลทางธุรกิจคือธุรกิจ!
ฉันเคยเห็นตัวอย่างโดยผู้สร้าง Rails (ฉันคิดว่า) ซึ่งกำลังดำเนินการอยู่อย่างนี้ - ไม่ได้ใส่ "ตรรกะทางธุรกิจ" ในแบบจำลอง ตัวอย่างของเขาคือคลาสคอนโทรลเลอร์และวิธีการสำหรับการลงทะเบียนแอพและล็อกอิน - รหัสผ่านที่ให้ในข้อความธรรมดาถูกเข้ารหัสก่อนที่จะถูกแทรกลงในหรือสอบถามกับโมเดล (ฐานข้อมูล)
ฉันไม่สามารถนึกถึงตัวอย่างที่ดีกว่าของบางสิ่งที่ไม่ใช่ตรรกะของตัวควบคุมและนั่นเป็นของโมเดลโดยตรง
ตัวแบบอาจเป็นส่วนต่อประสานกับแหล่งข้อมูลมากมายช่วยลดความกังวลเรื่องการพกพา มันอยู่ที่นี่อย่างใดอย่างหนึ่งสามารถค้นหาความสับสนมากกว่า wether หรือไม่อินเทอร์เฟซแบบจำลองเป็นจริง "ตัวควบคุม"
โดยทั่วไปแล้วคอนโทรลเลอร์จะเชื่อมโยงโมเดลและมุมมอง (ซึ่งเป็นเนื้อและมันฝรั่งของแอพ) ในการพัฒนาโกโก้นั้นสามารถทำได้ง่ายจนถึงจุดที่คอนโทรลเลอร์ถูกจัดการผ่าน XCode GUI (วัตถุคอนโทรลเลอร์และการผูก)
ส่วน "รูปแบบการออกแบบ" ของ GoF ใน MVC อ้างถึงแบบหลวม ๆ :
คลาสสาม MVC ถูกใช้เพื่อสร้างส่วนต่อประสานผู้ใช้ใน Smalltalk-80 รุ่นเป็นวัตถุของแอปพลิเคชันมุมมองคือการนำเสนอหน้าจอและคอนโทรลเลอร์กำหนดวิธีที่ UI ตอบสนองกับอินพุตของผู้ใช้ MVC แยกมุมมองและโมเดลโดยสร้างโปรโตคอลบอกรับสมาชิก / แจ้งเตือนระหว่างพวกเขา แผนภาพต่อไปนี้แสดงรูปแบบและมุมมองสามมุมมอง พวกเราออกจากตัวควบคุมเพื่อความเรียบง่าย
MVC นั้นเกี่ยวกับ UIs โฟกัสอยู่ที่รุ่นและมุมมอง - การกำหนดและแสดงข้อมูล หมายเหตุ "สมัครสมาชิก / แจ้งเตือนโปรโตคอล" - นี่คือที่คอนโทรลเลอร์ของคุณเข้ามาคุณสามารถสร้างมุมมองทั้งหมดที่คุณต้องการ; ตราบใดที่พวกเขาปฏิบัติตามโปรโตคอลคุณจะไม่ต้องแตะรุ่นหรือตัวควบคุม
หากคุณกำลังพูดถึงการพัฒนาเว็บโดยเฉพาะ IMHO กรอบเว็บยอดนิยมจำนวนมากนั้นรวดเร็วและหลวมด้วยคำว่า MVC และคำจำกัดความของส่วนประกอบ