مقدمة :-
ال MVC هو نمط تم اعتماده كطريقة للبرمجة حيث يعتمد
هذا النمط في الاساس على عزل ما هو مرئي للمستخدم (user interface) عن ما يتعلق بالبيانات(data) و طرق استخدامها و معالجتها , وقد
ظهر في بداية الثمانينيات بواسطة النورويجي Trygve M. H. Reenskaug
ملحوظة :- يجب ان تنتبه إلى ان ال (MVC) كمبدأ يتم الأخذ به عند النظر للبرنامج
الذي تريد تطويره منذُ البداية و أيضاً
للأسلوب الذي سوف تتبعه في البرمجة كمطور فيما بعد ، يعني عندما تفكر ببرنامج معين
لازم تفكر فيه من منظور ال (MVC) عند تجميع البيانات و عند التحليل و التصميم و عندما تأتي لبرمجة
التطبيق أيضاً سيكون ال (MVC) هو المنظور الذي سوف تتبعه في التطوير، لما لذلك من مزايا كثيرة
منها سهولة التطوير بالإضافة إلى سهولة الصيانة كما سيتم ذكره في مزايا ال MVC .
طريقة عمل MVC ؟
هي ثلاثة اجزاء النموذج (Model ) ، العرض (View ) ، التحكم (Controller )، يلعب ال controller (و يعني المتحكم او المسيطر) الدور الرئيسي لهذا النمط, حيث أن أي عملية (سواء إظهار (Show), إدخال (Add New) أو تصحيح (Update) أو حذف (Delete) معلومات ) يتحكم بها هو قبل أن يقوم بإرسالها إلى ال model (الموديل و يعني النموذج او النمط) الذي يقوم بمعالجة البيانات المرسلة و بدوره يعيدها لل controllor قبل أن يقوم هذا الاخير بإرسال البيانات النهائية لصفحة العرض view والتي يتجلى دورها في تعبئة البيانات على الصفحة و إظهارها للمستخدم .
هي ثلاثة اجزاء النموذج (Model ) ، العرض (View ) ، التحكم (Controller )، يلعب ال controller (و يعني المتحكم او المسيطر) الدور الرئيسي لهذا النمط, حيث أن أي عملية (سواء إظهار (Show), إدخال (Add New) أو تصحيح (Update) أو حذف (Delete) معلومات ) يتحكم بها هو قبل أن يقوم بإرسالها إلى ال model (الموديل و يعني النموذج او النمط) الذي يقوم بمعالجة البيانات المرسلة و بدوره يعيدها لل controllor قبل أن يقوم هذا الاخير بإرسال البيانات النهائية لصفحة العرض view والتي يتجلى دورها في تعبئة البيانات على الصفحة و إظهارها للمستخدم .
مميزات MVC ؟
مميزات هذا النمط عديدة ويأتي على رأسها أنه مناسب للعمل الجماعي كفريق فالعديد من فرق التطوير أو البرمجة تستطيع ان تقوم ببرمجة نفس التطبيق دون أن يتأتر عمل أحدهما بالأخر, فمثلا يمكن لفريق أن يعمل على واجهة المستخدم في حين يعمل فريق آخر على قاعدة البيانات (data base).
غير أن أهم مميزات ال MVC يتجلى في عمليات الصيانة, فمثلا يمكنك أن تغير من طريقة الولوج لقاعدة البيانات دون المساس بواجهة المستخدم, الامر الذي يبدو مستحيلا دون استعمال MVC .
وتجدر الاشارة إلى أن هذا النمط ظهر أولاً لتطوير البرامج والتطبيقات المكتبية غير أنه أصبح يستعمل في كل لغات البرمجة المتعلقة بالويب بالإضافة لتطبيقات الأندرويد و الأي فون .
إذاً ال MVC هو
مبدأ او نموذج معماري architectural pattern يُستخدم في هندسة
البرمجيات و يستخدم للتعامل مع واجهات المستخدم في التطبيقات البرمجية ، و
يستخدم بشكل واسع من قبل لغات البرمجة مثل ((.Net , Java ,
Smalltalk , C . C++ … etc
يعتمد النموذج على عزل منطق العمل(Business Logic) عن واجهة
الاستخدام (User
Interface) محققًا بذلك استقلالية
لكل منهما في التطوير (Development) أيضاً في الفحص والصيانة (check and
maintenance) . أي أنه حقّق فصل
الاهتمامات. فهو يقوم بتقسيم البرنامج المطلوب إلى ثلاث أجزاء مُنفصلة ،وذلك
بغية فصل التمثيل الداخلي للمعلومات عن طريق استخدام الطُرق التي تُطرح بها
المعلومات أو تُقبل من المُستخدم. وهذه الأجزاء هي:
النموذج (Model ) ، العرض (View ) ، التحكم (Controller )
عندما تبدأ برمجة مشروعك
عليك تقسيمه الى ثلاثة اقسام كالتالي:-
Model
:
عباره عن
مجموعة البيانات أو data في تطبيقك . مثلا لو لدينا تطبيق لعرض بيانات الطلاب فكل المعلومات
عن الطالب مثل اسمه , عمره ، تاريخ ميلاده ، فصيلة دمه وغيرها تعتبر بيانات ويتم تخزينها في كلاس ، و
يتم تجهيزها في الجافا من خلال إنشاء كلاس خاص بالموديل و من ثم ربطه بما يتم
استخدامه من تقنيات سواء (Hibernate) او غيرها .
View
:
عباره عن
الواجهة الظاهرة لمستخدم التطبيق ، و في الجافا تكون هي صفحة (jsp) و التي
يتم فيها عرض البيانات التي تم طلبها عبر الويب.
: Controller
هو الرابط او حلقة الوصل بين ال model & view اي بين البيانات
والواجهات . فهو يقوم بتزويد ال view بالبيانات التي تحتاجها من model. ويقوم بتحديث ال model حين يدخل المستخدم
بيانات جديدة الى ال view
هذا الجزء يعتبر الدوال او method او ال action المستخدمة في برمجه العناصر كالازرار مثلا، و يتم تجهيزه بأكثر من طريقة في الجافا فمن الممكن ان تستخدم السيرفلت فقط مع دوال معينة كإجراءات يتم تنفيذها عند حدوث حدث معين ، أو استخدام تقنية الإستروتس (Struts) مع دوال أكشن (Action) معينة سنأتي لتوضيحها لاحقاً .
هذا الجزء يعتبر الدوال او method او ال action المستخدمة في برمجه العناصر كالازرار مثلا، و يتم تجهيزه بأكثر من طريقة في الجافا فمن الممكن ان تستخدم السيرفلت فقط مع دوال معينة كإجراءات يتم تنفيذها عند حدوث حدث معين ، أو استخدام تقنية الإستروتس (Struts) مع دوال أكشن (Action) معينة سنأتي لتوضيحها لاحقاً .
سنقوم
بطرح مثال متكامل نوضح من خلاله نموذج ال (MVC) بالإضافة إلى العمليات المختلفة (Add New) و
(Update) و (Delete) و (Display) .
فضلاً إترك تعليقك و استفساراتك حول هذا الموضوع في جزء
التعليقات اسفل كي أحسن انا من مهاراتي في الكتابة و التدوين و إظهار التدوين بشكل
جيد و مفيد ، انشر المقال وانفع به غيرك . شكراً لمرورك و قراءتك للمقال .
ۚ فَأَمَّا الزَّبَدُ فَيَذْهَبُ جُفَاءً ۖ وَأَمَّا مَا يَنفَعُ
النَّاسَ فَيَمْكُثُ فِي الْأَرْضِ ۚ
شارك المقال و انفع به غيرك
المراجع :-
ليست هناك تعليقات