برنامج ASP.NET MVC التعليمي للمبتدئين: ما هو، Architecture
⚡ ملخص ذكي
ASP.NET MVC هو برنامج مفتوح المصدر Microsoft إطار عمل يفصل تطبيق الويب إلى طبقات النموذج والعرض والتحكم، مما يمنح المطورين تحكمًا كاملاً في HTML، ورمزًا قابلاً للاختبار، وتوجيهًا نظيفًا، وبديلاً خفيف الوزن لنماذج الويب الكلاسيكية.
ما هو ASP.NET MVC؟
ASP.NET بعثة التحقق المشتركة هو إطار عمل مفتوح المصدر لتطوير الويب من Microsoft يوفر ASP.NET MVC بنية نموذجية لعرض وتحكم التطبيقات (Model View Controller). ويُعدّ بديلاً لـ ASP.NET Web Forms في بناء تطبيقات الويب. وهو جزء من منصة .NET لبناء تطبيقات الويب ونشرها وتشغيلها. يمكنك تطوير تطبيقات الويب ومواقع الويب باستخدام HTML وCSS وjQuery. Javaنص، الخ.
تعلم MVC من خلال هذا البرنامج التعليمي ASP.NET MVC الذي يغطي جميع المفاهيم الأساسية لـ MVC للمبتدئين:
لماذا ASP.NET MVC؟
على الرغم من أن نماذج الويب كانت ناجحة جدًا، Microsoft فكرة التطويرping ASP.NET MVC. المشكلة الرئيسية في ASP.NET webForms هي الأداء.
في باقة تطبيق ويبهناك أربعة جوانب رئيسية تحدد الأداء:-
- قضايا وقت الاستجابة
- مشكلة اختبار الوحدة
- تخصيص HTML
- إمكانية إعادة استخدام فئة الكود الخلفي
يتفوق ASP.NET MVC في المعايير المذكورة أعلاه.
تاريخ الإصدارات MVC
أسب.نت MVC1
- تم إصداره في 13 آذار (مارس) 2009
- يعمل على .NET 3.5
- فيجوال ستوديو 2008
- هندسة نمط MVC مع محرك WebForm
- وتشمل الميزات الرئيسية HTML و وحدة التجاربومساعدي Ajax والتوجيه وما إلى ذلك.
أسب.نت MVC2
- صدر هذا الإصدار في 10 مارس 2010
- يعمل على .NET 3.5 و 4.0 ومع Microsoft فيجوال ستوديو 2008
- يتضمن ميزات مثل أدوات المساعدة القائمة على القوالب، وأدوات مساعدة واجهة المستخدم مع إنشاء تلقائي للهيكل وقوالب قابلة للتخصيص
- وهو يدعم سمات DataAnnotations لتطبيق التحقق من صحة النموذج على جانبي العميل والخادم
أسب.نت MVC3
- تم إصداره في 13 كانون الثاني (يناير) 2011
- يعمل على .NET 4.0 ومع Microsoft البصرية ستوديو 2010
- استخدام نuGet لتقديم البرامج ويسمح لك بإدارة التبعيات عبر النظام الأساسي
- أفضل Javaدعم البرامج النصية مع التحقق من صحة jQuery وربط JSON
- يوفر ميزات مثل محرك عرض Razor وسمات Data Annotations المحسّنة للتحقق من صحة النموذج على كل من جانب العميل والخادم
أسب.نت MVC4
- تم إصدار هذا الإصدار في أغسطس 2012
- يتم تشغيله على .NET 4.0 و4.5 ومع Visual Studio 2010 وVisual Studio 2012
- تحسينات على قوالب المشروع الافتراضية
- يقدم ميزات مثل قالب المشروع المحمول باستخدام jQuery Mobile، ودعم المهام لوحدات التحكم غير المتزامنة، والتجميع، والتصغير، وما إلى ذلك.
أسب.نت MVC5
- صدر في 17 أكتوبر 2013
- يعمل على .NET 4.5 و 4.5.1 ومع Visual Studio 2012 و Visual Studio 2013
- يدعم توجيه السمة في MVC
مميزات برنامج MVC
- قابلية اختبار سهلة وبدون احتكاك
- السيطرة الكاملة على HTML الخاص بك، Javaالنص، و URLs
- الاستفادة من الموجودة ASP.NET شرح المميزات:
- خيار عرض جديد لـ ASP.NET
- طريقة أبسط لبرمجة ASP.NET
- فصل واضح للمنطق: النموذج، العرض، وحدة التحكم
- تطوير يحركها الاختبار
- دعم التنمية الموازية
الأشياء التي يجب تذكرها أثناء إنشاء تطبيق MVC
فيما يلي بعض الأشياء المفيدة في هذا البرنامج التعليمي لـ ASP.NET MVC والتي تحتاج إلى تذكرها لإنشاء تطبيق MVC:
- يجب أن تتذكر أن ASP.NET MVC ليس بديلاً عن تطبيقات ASP.NET المستندة إلى نماذج الويب
- يجب تحديد نهج تطوير تطبيقات MVC بناءً على متطلبات التطبيق والميزات التي يوفرها ASP.NET MVC لتناسب احتياجات التطوير المحددة.
- تُعد عملية تطوير التطبيقات باستخدام ASP.NET MVC أكثر تعقيدًا مقارنةً بالتطبيقات القائمة على نماذج الويب.
- تكون قابلية صيانة التطبيق دائمًا أعلى مع فصل مهام التطبيق.
نمط معماري MVC
نمط MVC هو نمط معماري برمجي يتبع مبدأ فصل الاهتمامات. في هذا النموذج، تُقسّم تطبيقات .NET إلى ثلاثة أجزاء مترابطة تُسمى النموذج، والعرض، والمتحكم.
الهدف من نمط MVC هو إمكانية تطوير كل جزء من هذه الأجزاء واختبارها بشكل منفصل ودمجها أيضًا لإنشاء تطبيق قوي للغاية.
دعونا نلقي نظرة عليها جميعًا بالتفصيل:
الموديلات
الكائنات النموذجية هي أجزاء من التطبيق تقوم بتنفيذ منطق التطبيق مجال البيانات. يقوم باسترداد وتخزين حالة النموذج في قاعدة بيانات. على سبيل المثال، قد يقوم كائن المنتج باسترداد المعلومات من ملف قاعدة بياناتقم بالعمل عليها. ثم اكتب المعلومات مرة أخرى إلى جدول المنتجات في خادم SQL.
المشاهدات
تُعدّ طرق العرض المكونات المستخدمة لعرض واجهة المستخدم (UI) للتطبيق، والتي تُسمى أيضًا نموذج العرض في نمط MVC. وهي تعرض تطبيق .NET MVC الذي تم إنشاؤه من بيانات النموذج.
المثال الشائع هو عرض تحرير جدول العناصر. فهو يعرض مربعات النص والنوافذ المنبثقة ومربعات الاختيار استنادًا إلى الحالة الحالية للمنتجات والكائنات.
مراقب
تتولى وحدات التحكم معالجة تفاعل المستخدم، والعمل مع النموذج، واختيار العرض لعرض واجهة المستخدم. في تطبيق .NET MVC، يعرض العرض المعلومات فقط، بينما تتولى وحدة التحكم إدارة مدخلات المستخدم وتفاعله والاستجابة لها باستخدام عوامل تصفية الإجراءات في MVC.
على سبيل المثال، تقوم وحدة التحكم بإدارة قيم سلسلة الاستعلام وتمرير تلك القيم إلى النموذج.
نماذج الويب مقابل MVC
| المعاملات | نماذج الويب | MVC |
|---|---|---|
| الموديل | تتبع نماذج الويب ASP.NET نموذج التطوير القائم على الأحداث. | يستخدم ASP.NET MVC نموذج تطوير قائم على نمط MVC. |
| تستخدم منذ | كان موجودا منذ عام 2002 | تم إصداره لأول مرة في عام 2009 |
| دعم لعرض الحالة | يدعم ASP.NET Web Form حالة العرض لإدارة الحالة من جانب العميل. | لا يدعم .NET MVC حالة العرض. |
| URL نوع | يحتوي نموذج الويب ASP.NET على ملفات URLيعني ذلك أن اسم الملف موجود في URLويجب أن تكون موجودة فعلياً. | تعتمد ASP.NET MVC على التوجيه URLهذا يعني URLوالتي يتم إعادة توجيهها إلى وحدات التحكم والإجراءات. |
| بناء الجملة | تتبع نماذج الويب ASP.NET صيغة نماذج الويب. | تتبع ASP.NET MVC بنية قابلة للتخصيص. |
| نوع العرض | ترتبط طرق عرض نماذج الويب ارتباطًا وثيقًا بـ Code خلف (ASPX-CS)، أي المنطق. | يتم دائمًا الاحتفاظ بـ MVC وطرق العرض والمنطق بشكل منفصل. |
| مظهر وشعور متسقين | يحتوي على صفحات رئيسية لإلقاء نظرة متسقة. | يحتوي ASP.NET MVC على تخطيطات للحصول على مظهر متناسق. |
| Code إعادة استخدام | يوفر نموذج الويب عناصر تحكم المستخدم لإعادة استخدام التعليمات البرمجية. | لقد وفرت ASP.NET MVC طرق عرض جزئية لإعادة استخدام التعليمات البرمجية. |
| التحكم في HTML | Less السيطرة على HTML المقدمة. | السيطرة الكاملة على HTML |
| إدارة الدولة | إدارة الحالة التلقائية للضوابط. | إدارة الحالة اليدوية. |
| دعم تد | مطلوب TDD ضعيف أو مخصص. | يشجع على استخدام تقنية تطوير البرمجيات القائمة على الاختبار (TDD) ويتضمنها. |
مزايا ASP.NET MVC
- تطبيقات قابلة للصيانة بشكل افتراضي
- يسمح لك باستبدال أي مكون من مكونات التطبيق.
- دعم أفضل للتطوير القائم على الاختبار
- من السهل إدارة التطبيقات المعقدة بسبب أقسام النموذج والعرض ووحدات التحكم.
- تقديم آلية توجيه قوية مع نمط وحدة التحكم الأمامية
- يوفر تحكمًا أفضل في سلوك التطبيق مع التخلص من حالة العرض والنماذج المستندة إلى الخادم
- يتم دعم تطبيقات .NET MVC بواسطة فرق كبيرة من المطورين ومصممي الويب
- يوفر المزيد من التحكم في سلوكيات التطبيق. كما أنه يستخدم نطاقًا تردديًا محسنًا للطلبات المقدمة إلى الخادم
عيوب ASP.NET MVC
- لا يمكنك رؤية معاينة صفحة التصميم مثل صفحة .aspx.
- يجب عليك تشغيل البرنامج في كل مرة لرؤية تصميمه الفعلي.
- قد يكون فهم تدفق التطبيق أمرًا صعبًا
- إنه أمر معقد جدًا في التنفيذ، لذا فهو ليس خيارًا مثاليًا للتطبيقات ذات المستوى الصغير
- من الصعب تعلم MVC لـ ASP.NET، لأنه يتطلب فهمًا كبيرًا لنمط MVC
أفضل الممارسات أثناء استخدام ASP.NET MVC
- قم بإنشاء تجميعة منفصلة للنموذج (MODEL) في حالة وجود كود كبير ومعقد لتجنب أي وضع غير مرغوب فيه.
- يجب أن يتضمن النموذج منطق الأعمال وصيانة الجلسة وجزء التحقق من الصحة وجزء منطق البيانات.
- يجب ألا يحتوي VIEW على أي منطق عمل وصيانة للجلسة، استخدم ViewData للوصول إلى البيانات الموجودة في العرض
- لا ينبغي أبدًا أن تحدث منطق الأعمال والوصول إلى البيانات في وحدة التحكم
- يجب أن تكون وحدة التحكم مسؤولة فقط عن إعداد العرض وإعادته، واستدعاء النموذج، وإعادة التوجيه إلى الإجراء، وما إلى ذلك.
- احذف رمز العرض التوضيحي من التطبيق عند إنشائه (حذف وحدة التحكم في الحساب)
- استخدم فقط محرك عرض محددًا لإنشاء علامة HTML من طريقة العرض الخاصة بك لأنها عبارة عن مزيج من HTML وكود البرمجة.


