ما هو MVC ؟
وهو اختصار لModel-View-Controller وهو نمط يستخدم لفصل مكونات المشروع المنطقية عن بعضها وهذه المكونات هى model , view , controller وهو من افضل النظم لانشاء موقع قابل للتوسع
والسؤال الان ما وظيف كل مكون من هذه المكونات السابق ذكرها
مكونات MVC
view: هو عبارة عن الواجهة التى يتعامل معاها المستخدم فى التطبيق مثل القوائم و حقول البحث و السليدات وغيرها
model : يتعامل مع البيانات التى يتعامل معه المستخدم ويدخلها الى قاعدة البيانات او يخرج بيانات معينة منها
اذا فدوره مقتصر على التعامل مع قواعد البيانات
controller : هو الوسيط بين view و controller فهو يعالج العمليات المنطقية والطلبات القادمة (requests) وكذلك التعامل مع البيانات القادمة من قواعد البيانات لاخراجها على view فى صورة ملائمة
مثال تقريبى
عند البحث عن شئ معين يتفاعل المستخدم مع view ويكتب كلمة البحث وعند ضغط زر بحث يأتى دور controller ليفهم الطلب ويعالج كلمات البحث ويرسلها اخيرًا الى model الذى يقوم بدوره بالبحث عن الكلمة داخل قاعدة البيانات واعادة النتائج الى controller لعمل اللازم من فلتره للكلمات وخلافه ثم الى view لتعرض اخيرًا على المستخدم
مميزات هذا النمط
السهولة فى التطوير
بفضل هذا الفصل فى مكونات المشروع يسهل تطوير احد هذا الاجزاء الرئيسية بدون المساس بالاجزاء الاخرى
سهولة فى فهم الكود
بفضل انتشار هذا النمط فى التصميم فيكون الكود المكتوب به مفهوم من جميع المطورين الذين يعرفون هذا النمط وبالتالى يستطيع غيرك اكمال عملك ويسهل عمل الفرق فى المشارع الكبرى
سهولة اكتشاف الاخطاء
بفضل التجريد يسهل اكتشاف الاخطاء فى الكود فى اقل وقت
مقالات ذات صلة
كتب بواسطة عمرو العربى
مؤسس مطور
[…] Laravel هيكل MVC مما يجعلها سهلة […]