حسب التطبيق وحسب رغبتك، لست مجبراً على إستخدام هذه الطريقة في البناء لأنها قد لاتلائم طريقة عملك وتفكيرك وتحليلك للأمور.
أنا ضد أن يجبر المبرمج على تبني فلسفة بناء جديدة لأنها أصبحت رائجة.
حسب التطبيق وحسب رغبتك، لست مجبراً على إستخدام هذه الطريقة في البناء لأنها قد لاتلائم طريقة عملك وتفكيرك وتحليلك للأمور.
أنا ضد أن يجبر المبرمج على تبني فلسفة بناء جديدة لأنها أصبحت رائجة.
اذا لم تستخدم MVC او اي Design Pattern فبلاشك ستس phpتخدم اسلوب حشو اكواد داخل html وكثرة ملفات php حتى لو استخدمت نظام قوالب مثل smarty و كذلك استخدمت البرمجة الكائنية OOP فلن تستفيد الشيئ الكثير وسيظل برنامجك "مشتت".
قيمة الـ MVC تظهر بشكل كبير عندما تعمل كفريق او تبني برامج متنوعة، سواء استخدمت اطار عمل يدعم MVC او بنيت الاطار الخاص بك .
هي نمط تنظيمي يحاول فصل وتوزيع الأجزاء أو المهام وفق منهجية ما
يعني لتوضيح الأمر بمثال
كمن يجمع جميع موظفيه ولكل أنشطة شركاته في مقر واحد
أو أن يجعل لكل نشاط شركته الخاصة
وفي الشركة كل قسم له رئيس ومكاتب مخصصة
و يتم التعامل فيما بينهم وفق نظام معين
أكبر مثال تلاحظ مثلا أنه يخصص الطابق السفلي للاستقبال
والطابق التالي للأمور المالية الداخلية
وستور خلفي كمستودع
و الطلبات تتجه من قسم لقسم وفق نظام محدد لضبط الأمور
بالنسبة لي فإني ألتزم منذ سنتين باستخدام codeigniter في كافة مشاريعي وعند الحاجة لإجراء تعديلات فإنني بسهولة أستطيع العودة للتعديل. ولست أرغب بتعلم منصة أخرى فإنني مرتاح بالتعامل مع codeigniter
أنا منذ دخلت عالم ASP.NET بدأت مباشرة بـ MVC4 + Razor وبنيت به أول موقع
والموقع الثاني كان بـ MVC5 + Razor
كما تفضل الإخوة هي نمط تنظيمي
تماما مثلما تبنيت نمط MVVM في تطبيقات WPF و SilverLight
أما في مشروعي الذي أقوم به الآن دون فريق فأنا صنعت إطار عمل ونمط خاص بي واعتمدته وأحاول توثيقه ليلتزم به من يكمل المشروع بعدي
نظام هو طريقة بناء التطبيق بحيث ينقسم إلى ثلاثة أقسام:
Model: حلقة الوصل بين الـ View و الـ Controller بحيث يستقبل الطلبات من الكنترولر ويرسلها للفيو.
View: الجزء المختص بالعرض فقط
Controller: الجزء المتعلق بمعالجة البيانات.
للتبسيط، فإن ملفات php في قسم الكنترولر تهتم بالمعالجة المنطق وترسل البيانات إلى الموديل الذي يختار الفيو المناسب ويظهره وهذا النظام في بناء التطبيقات.
بالطبع يتم توزيع الملفات على العديد من المجلدات وتوجد بعض القواعد التي يجب إتباعها، وتوجد أطر عمل مثل Zend Frame Work و Laravel تستخدم هذه الطريقة في بناء التطبيقات.
عزيزي الـ MVC عبارة عن اسلوب برمجة، مثال لو اردت ان تبني بيت وجاء لك شخص متخصص في بناء البيوت وقالك حط غرفة النوم على اليسار والحمام على اليمين وأجعل مقاس المطبخ 100 متر في 50، ثم بيقولك سوي كذا عشان التهوئة ويكون البيت بارد في الصيف وبيذكر لك المزايا لو قسمت بيتك بهذه الطريقة والقرار الاخير يرجع لك ممكن تلتزم بهذا الاسلوب او لا، الـ MVC نفس الشيئ في ناس بعد تجاربهم الطويلة في بناء البرمجيات اوجدوا حلول لحل بعض المشاكل مثل سرعة الانجاز وتنظيم الكود وسهولة التطوير وقالوا اذا تريد ان تحقق هذه النقاط ابني برنامجك بأسلوب MVC ويعتمد هذا الاسلوب على انك تقسم برنامجك الى ثلاثة اجزاء الي هي الواجهات View والدوال والكلاسات او اي خوارزمية للتعامل مع البيانات Model والرابط مابين الواجهات والمودل الي هو Controller ، بمعنى اخر اي شيئ متعلق بالواجهه من ازرار وحقول وصور وغيرها اجعله بشكل مستقل حطه في مجلد لحاله مثلا، واي دالة او كلاس او اي خوارزمية لمعالجة البيانات افرزهم لحالهم بشكل مستقل بدون ان تتداخل مع الواجهه بشكل مباشر، والمستخدم لما يتعامل مع برنامجك لا توصله مباشرة بالواجهه بل اجعله يتعامل مع الموجه الي هو Controller هذا الموجه وظيفته انه ياخذ الاوامر من المستخدم ويربطها مع الواجهة والدالة او الكلاس المناسب، فقط هذا كل الموضوع، كيف تستخدم هذا الاسلوب او كيف تبني الـ Controller مثلا، هذا راجع لك ولخبرتك في البرمجة كل واحد يستخدم الخوارزميات الي يفهمها المهم ان برنامجك يكون مقسم الى هذه الثلاثة الاجزاء بغض النظر عن الخوارزميات التي استخدمتها.
باختصار .. MVC هي تقنية او ما تسمى Pattern .. يعني طريقة في البرمجة من مجموعة الطرق
و هي تركز على فصل التطبيق الى ثلاثة اقسام ..
القسم Model والذي فيه والذي رمز له بالرمز M و يكون به العملية البرمجية الحقيقية من اضافة وحذف و تعديل في قواعد البيانات مثلاً بالاضافة الى العمليات الحسابية الخ .
القسم Controller و هو مايرمز له C وهو يعني بسير توجه البرنامج فيكون مسؤلاً مثلا عن اظهار صفحات طلب تسجيل الدخول لمن لم يسجل ثم اذا طلب المستخدم حذف شيء فهو ينقله الى صفحة تاكيد الحذف .. اي مايعني بتنقل المستخدم بين صفحات ( واجهات ) التطبيق ."وهو وسيط مابين ال model و الview"
بقي لدينا القسم الاخير وهو View الرمز V .. ويعني فقط بناء الشاشات والواجهات التطبيقية مثل عرض الجداول و تنسيقها ومثل عرض الفورمز التي تستقبل مدخلات المستخدم بما فيها من textbox و radio button .. الخ بدون اي يكون لها اي تدخل في اي قسم اخر .
التعليقات