ماهو مبدأ Model View Controller (MVC) ؟ (للمبتدئين)
ماهو ال Model View Controller (MVC)؟
MVC هو مبدأ او نموذج معماري architectural pattern يستخدم للتعامل مع واجهات المستخدم في تطبيقات iOS.
هذا المبدا مهم ان تحاول فهمه لانه اساس برمجة تطبيقات ال iOS . فعندما تبدأ برمجه مشروعك عليك تقسيمه الى ثلاثة اقسام كالتالي
Model : عباره عن مجموعة البيانات أو data في تطبيقك . مثلا لو لدينا تطبيق لعرض موديلات السيارات. كل المعلومات عن السياره مثل الماركه, اللون وغيرها تعتبر بيانات ويتم تخزينها في كلاس.
View : عباره عن الواجهه الظاهره لمستخدم تطبيقك.
في xcode تعتبر ال view هي العناصر المستخدمه في storyboard واللتي نقوم بربطها بالكود مثل UILabel, UIView and UIImage.
Controller : هو الرابط او حلقة الوصل بين ال model & view اي بين البيانات والواجهات . فهو يقوم بتزويد ال view بالبيانات اللتي تحتاجها من model. ويقوم بتحديث ال model حين يدخل المستخدم بيانات جديده الى ال view
هذا الجزء يعتبر الدوال او method او ال action المستخدمه في برمجه العناصر كالازرار مثلا.
الان نستعرض مثال بسيط لشرح الفكره وتعميق فهمها.( من هنا تستطيع البدء والبحث عن المزيد عن هذا المفهوم وتطبيقه).
لنفرض ان لدينا مشروع يستعرض ماركة و لون السياره . الان وفقا لهذا المفهوم سنقسم كالتالي
Model: ننشئ class نسميه car ونضع فيه بيانات السياره (ماركه brand, لون color).
View: هي واجهة المستخدم سننشئها كالتالي:
وننشئ outlet لكل من ال labels كالتالي
Controller: وهي الاوامر المستخدمه لربط عناصر الواجهه بالبيانات.
- انشأنا object اسمه car1 من كلاس car حتى نتمكن من الوصول الى خصائص الكلاس (الماركه و اللون ).
- باستخدام ال object المسمى car1 وصلنا الى خاصية brand ووضعنا فيها قيمه lexus . وخاصية color وضعنا فيها قيمه Red
- الان مرحله الربط بين عناصر الواجهه والبيانات فالامر Brand.text يشير الى ان نضع في ال label الموجود في الواجهه النص الموجود في خاصية Car1.Brand وهو في هذه الحاله lexus. نفس الامر لعنصر اللون.
الشكل النهائي للكود في الصوره التاليه لكن هناك ملاحظه يفضل أن تنشئ ملف سويفت منفصل لتضع فيه كلاسات ال model .
الان نقوم بتشغيل التطبيق لرؤيه النتيجه
اتمنى أنني وفقت في شرح هذا المفهوم المهم بطريقه سهله وبسيطه ـ شكرا لكم ولعالم البرمجه
التعليقات (0)
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !