هو فصل المنطق البرمجي وواجهة المستخدم ونمذجة البيانات عن بعضها البعض
وايضا يمكن تعريفه على أنه: نمط تصميم برمجي شائع الاستخدام لتطوير واجهات المستخدم التي تقسم منطق البرنامج ذي الصلة إلى ثلاثة عناصر مترابطة لكن ما هي مكوناته الثلاثة هذه؟ وكيف يعمل النظام؟
يستخرج النموذج البيانات من قاعدة بيانات مثل التخزين المحلي السحابي ، و API ، وأحيانًا يتكون من بعض المنطق البرمجي
يمثل واجهة مستخدم التطبيق، ويعرض البيانات النموذجية ويأخذ المدخلات من المستخدم
تتكون وحدة التحكم في الغالب من بعض منطق برمجي، وهي البيانات التي سيتم عرضها للمستخدم ، وكذلك التعامل مع مدخلات المستخدم
يساعد فصل الأجزاء الثلاثة الأساسية للمهام في تكوين كود مثالي يجعلها قابلة لإعادة الاستخدام يصبح من السهل جدًا العمل في المشروع لأنه لا يؤثر على أجزاء أخرى من المشروع إذا تم تغيير شيء ما في جزء واحد
يتفاعل المستخدم مع العرض View الذي يتم عرض البيانات فيه ، ويزود المدخلات بوحدة تحكم من خلاله المتحكم Controller هو مثل الدماغ، فهو يعالج البيانات من المستخدم أو يأخذ البيانات من النموذج Model للعمل عليها ويقدمها إلى العرض الذي يعرض البيانات المطلوبة للمستخدم
كتبه @Alansaricodez