نمط-عرض-متحكم (MVC)

بالرغم من أننا لم نتقدم كثيرا في درسنا, إلا أنه من المهم جدا أن نلقي نظرة عامة عن النظام الذي تعمل به التطبيقات على رايلز. لعلكم لاحظتم في الدرس السابق أن البنية النموذجية لأي تطبيق رايلز تحتوي على الملف /app و الذي يحتوي بدوره على ثلاث ملفات فرعية و هي : النماذج (models), الواجهات (views) و وحدات التحكم (controllers). هذه التركيبة و إن دلت على شيء فإنها تدل على أن رايلز يتبع النموذج “نمط-عرض-متحكم” (MVC) والذي هو قائم على مبدأ عزل “منطق العمل” عن “واجهات الإستخدام”.

لعلكم اﻷن تتسألون عن معنى المفهومين “منطق العمل” و “واجهات الإستخدام”, أما اﻷول فماهو إلا النموذج الذي يتحكم في البيانات الخاصة بالتطبيق مثل : المستعملين, المقالات أو المنتجات و المفهوم الثاني فإنه يعبر في حقيقة الأمر عن صفحة الويب التي تظهرها المتصفحات.

عمليا, عند التعامل مع أي تطبيق على رايلز, يقوم المتصفح بإرسال طلب يتلقاه الحاجز الألي و الذي يحوله بدوره إلى المتحكم و الذي هو المسؤول عن إدارة العمليات التي تتوالى. في بعض الحالات يقوم المتحكم بإرسال واجهة مباشرة بعد تلقي اﻷمر والتي هي في الواقع تمثل نموذج ترجم إلى ال HTML و حول إلى المتصفح. أما في الحالات الإعتيادية فإن المتحكم يقوم بالتفاعل مع النموذج و الذي هو عبارة عن مكون روبي يمثل عنصرا من الموقع (كالمستعمل على سبيل المثال) و الذي يقوم بالتواصل مع قاعدة البيانات, بعدها يُكون المتحكم واجهة و يُحولها إلى صفحة ويب نهائية قابلة للنشر من طرف أي متصفح متخصص.

التعليقات