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