برنامج ASP.NET MVC التعليمي للمبتدئين: ما هو، Architecture

ما هو ASP.NET MVC؟

ASP.NET بعثة التحقق المشتركة هو إطار عمل مفتوح المصدر لتطوير الويب من Microsoft يوفر ASP.net MVC بنية وحدة تحكم عرض النموذج. يوفر ASP.net MVC بديلاً لنماذج الويب ASP.net لبناء تطبيقات الويب. إنه جزء من منصة .Net لبناء تطبيقات الويب ونشرها وتشغيلها. يمكنك تطوير تطبيقات الويب ومواقع الويب بمساعدة HTML وCSS وjQuery و Javascript، الخ.

تعلم MVC من خلال هذا البرنامج التعليمي ASP.NET MVC الذي يغطي جميع المفاهيم الأساسية لـ MVC للمبتدئين:

لماذا ASP.net MVC؟

على الرغم من أن نماذج الويب كانت ناجحة جدًا، Microsoft فكرت في تطوير 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
  • قم بتضمين ميزات مثل مساعدي القوالب، ومساعدي Ul مع السقالات التلقائية والقوالب القابلة للتخصيص
  • وهو يدعم سمات DataAnnotations لتطبيق التحقق من صحة النموذج على جانبي العميل والخادم

أسب.نت MVC3

  • تم إصداره في 13 كانون الثاني (يناير) 2011
  • يعمل على .NET 4.0 ومع Microsoft البصرية ستوديو 2010
  • استخدام نuGet لتقديم البرامج ويسمح لك بإدارة التبعيات عبر النظام الأساسي
  • أفضل Javaدعم النصوص البرمجية مع التحقق من صحة jQuery وربط JSON
  • ويقدم ميزات مثل محرك عرض Razor؛ سمات التعليقات التوضيحية للبيانات المحسنة للتحقق من صحة النموذج على جانبي العميل والخادم

أسب.نت 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 OneASP.NET
  • يدعم توجيه السمة في MVC

مميزات برنامج MVC

  • قابلية اختبار سهلة وبدون احتكاك
  • السيطرة الكاملة على HTML الخاص بك، Javaالنصوص وعناوين المواقع
  • الاستفادة من الموجودة 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

MVC هو نمط معماري للبرمجيات يتبع طريقة فصل الاهتمامات. في هذا النموذج، يتم تقسيم تطبيقات .Net إلى ثلاثة أجزاء مترابطة تسمى النموذج والعرض ووحدة التحكم.

الهدف من نمط MVC هو إمكانية تطوير كل جزء من هذه الأجزاء واختبارها بشكل منفصل ودمجها أيضًا لإنشاء تطبيق قوي للغاية.

دعونا نرى كل منهم بالتفصيل:

الموديلات

الكائنات النموذجية هي أجزاء من التطبيق تقوم بتنفيذ منطق التطبيق مجال البيانات. يقوم باسترداد وتخزين حالة النموذج في قاعدة بيانات. على سبيل المثال، قد يقوم كائن المنتج باسترداد المعلومات من ملف قاعدة بياناتقم بالعمل عليها. ثم اكتب المعلومات مرة أخرى إلى جدول المنتجات في خادم SQL.

المشاهدات

طرق العرض هي المكونات المستخدمة لعرض واجهة مستخدم التطبيق (UI) والتي تسمى أيضًا نموذج العرض في MVC. يعرض تطبيق .Net MVC الذي تم إنشاؤه من بيانات النموذج.

المثال الشائع هو عرض تحرير جدول العناصر. فهو يعرض مربعات النص والنوافذ المنبثقة ومربعات الاختيار استنادًا إلى الحالة الحالية للمنتجات والكائنات.

مراقب

تتعامل وحدات التحكم مع تفاعل المستخدم، وتعمل مع النموذج، وتحدد طريقة عرض لتقديم عرض Ul. في تطبيق .Net MVC، يعرض العرض المعلومات فقط، وتدير وحدة التحكم مدخلات المستخدم وتفاعله وتستجيب لها باستخدام مرشحات الإجراءات في MVC.

على سبيل المثال، تقوم وحدة التحكم بإدارة قيم سلسلة الاستعلام وتمرير تلك القيم إلى النموذج.

نماذج الويب مقابل MVC

المعلمات WebFroms 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 MVC بناء جملة نماذج الويب. يتبع Asp.Net MVC بناء الجملة القابل للتخصيص.
نوع العرض نموذج الويب، ترتبط طرق العرض بإحكام بالرمز الموجود خلف (ASPX-CS)، أي المنطق. يتم دائمًا الاحتفاظ بـ MVC وطرق العرض والمنطق بشكل منفصل.
مظهر وملمس متناسق يحتوي على صفحات رئيسية لإلقاء نظرة متسقة. يحتوي Asp.Net MVC على تخطيطات للحصول على مظهر متسق.
إعادة استخدام الكود يوفر نموذج الويب عناصر تحكم المستخدم لإعادة استخدام التعليمات البرمجية. قدمت 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 للوصول إلى البيانات الموجودة في العرض
  • يجب ألا يحدث منطق الأعمال والوصول إلى البيانات مطلقًا في ControllerViewData
  • يجب أن تكون وحدة التحكم مسؤولة فقط عن إعداد العرض وإعادته، واستدعاء النموذج، وإعادة التوجيه إلى الإجراء، وما إلى ذلك.
  • حذف الكود التجريبي من التطبيق عند إنشائه حذف AccountController
  • استخدم فقط محرك عرض محددًا لإنشاء علامة HTML من طريقة العرض الخاصة بك لأنها عبارة عن مزيج من HTML وكود البرمجة.

الملخص

  • ASP.NET MVC هو إطار عمل مفتوح المصدر لتطوير الويب من Microsoft أن يوفر هندسة وحدة التحكم في عرض النموذج.
  • يقدم ASP.net MVC بديلاً لنماذج الويب ASP.net لإنشاء تطبيقات الويب.
  • المشكلة الرئيسية في ASP.net webForms هي الأداء.
  • يوفر ASP.net MVC إمكانية اختبار سهلة وخالية من الاحتكاك مع التحكم الكامل في HTML وعناوين URL الخاصة بك.
  • عليك أن تتذكر أن ASP .net MVC ليس بديلاً للتطبيقات القائمة على نماذج الويب ASP.Net.
  • يجب تحديد أسلوب تطوير تطبيق MVC أو دورة حياة ASP.NET MVC بناءً على متطلبات التطبيق والميزات التي يوفرها ASP .net MVC لتناسب احتياجات التطوير المحددة.
  • يقدم ASP.NET MVC تطبيقات قابلة للصيانة بشكل افتراضي.
  • باستخدام ASP.net، لا يمكنك رؤية معاينة صفحة التصميم مثل صفحة .aspx.
  • كأفضل ممارسة، يجب أن يتضمن النموذج منطق الأعمال، وصيانة الجلسة، وجزء التحقق من الصحة، وجزء منطق البيانات.

النشرة الإخبارية اليومية لـ Guru99

ابدأ يومك بأحدث وأهم قصص الأخبار المتعلقة بالذكاء الاصطناعي والتي يتم تقديمها لك الآن.