لاشك أن طرق البرمجة كثيرة و لكن ما يتفق عليه أغلب المبرمجين ومطوري المواقع هو نمط برمجة يعرف باسم MVC وهو اختصار ل : Model View Controller
ما هو MVC
هو نمط تم اعتماده كطريقة للبرمجة حيث يعتمد هذا النمط في الاساس على عزل ما هو مرأي للمستعمل (user interface) عن ما يتعلق بالبيانات (data) و طرق استخدامها, وقد ظهر في بداية الثمانينيات بواسطة النورفيجي Trygve M. H. Reenskaug
يلعب controller الدور الرئيسي لهذا النمط, حيث أن أي عملية (سواء إظهار, إدخال أو تصحيح معلومات) يتحكم بها هو قبل أن يقوم بإرسالها ل model الذي يقوم بمعالجة البيانات المرسلة ويدوره يعيدها لل controllor قبل أن يقوم هذا الاخير بإرسال البيانات لصفحة العرض view والتي يتجلى دورها في تعبئة البيانات على الصفحة و إظهارها للمستعمل
مميزات MVC ؟
مميزات هذا النمط عدة ويأتي على رأسها أن بواسطة عدة فرق تطوير أو برمجة نفس التطبيق دون أن يتأتر عمل أحدهما بالاخر, فمثلا يمكن لفريق أن يعمل على واجهة المستخدم في حين يعمل فريق اخر على قاعدة البيانات (data base).
غير أن أهم مميزات MVC يتجلى في عمليات الصيانة, فمثلا يمكنك أن تغير من طريقة الولوج لقاعدة البيانات دون المساس بواجهة المستخدم, الامر الذي يبدو مستحيلا دون استعمال MVC
وتجدر الاشارة إلى أن هذا النمط ظهر أولا لتطوير البرامج والتطبيقات المكتبية غير أنه أصبح يستعمل في كل لغات البرمجة المتعلقة بالويب.
ومن هذا النمط ظهر framework والذي يظيف عدة أمور متعلقة بالحماية وغيرها .
تعريف أيضا
هو مبدأ او نموذج معماري Architectural pattern يستخدم للتعامل مع واجهات المستخدم في تطبيقات
IOS
هذا المبدأ مهم ان تحاول فهمه لأنه اساس برمجة تطبيقات الIOS
فعندما تبدأ برمجه مشروعك عليك تقسيمه الى ثلاثة اقسام كالتالي
Model
عباره عن مجموعة البيانات أو الداتا في تطبيقك مثلا لو لدينا تطبيق لعرض موديلات السيارات. كل المعلومات عن السيارة مثل الماركة، اللون وغيرها تعتبر بيانات ويتم تخزينها في كلاس
View
عباره عن الواجهة الظاهرة لمستخدم تطبيقك
Controller
هو الرابط او حلقة الوصل بين ال Model & view اي بين البيانات والواجهات. فهو يقوم بتزويد الView بالبيانات التي تحتاجها من Model
ويقوم بتحديث ال Model حين يدخل المستخدم بيانات جديده الى ال View
هذا الجزء يعتبر الدوال او العمليات المستخدمة في برمجة العناصر كالأزرار مثلا