تعلم ASP.NET MVC


الدرس: الاتفاقية بدلا من الاعدادات


الصفحة السابقة
قد لا تدرك ذلك لأن هذه هي المرة الأولى التي تستخدم فيها ASP.NET MVC ، ولكن إطار عمل MVC جعل الكثير من الأشياء أسهل بالنسبة لنا. دون الحاجة إلى القيام بأي شيء خاص ، كان قادرًا على إنشاء وحدات تحكمنا بشكل صحيح ، والعثور على واجهات عرضنا في الأدلة الصحيحة ، ...
يا لها من موهبة لديه هذا MVC! ولكن من أين أتت؟

المفهوم


تكمن قوة ASP.NET MVC في مفهوم تم تلخيصه بواسطة "اصطلاح بدلاً من اعدادات" . هذا هو المفهوم الذي جعله روبي أون ريلز مشهورًا وتم تناوله بواسطة ASP.NET MVC والعديد من الأطر الأخرى. المبدأ هو تبسيط وتسريع بناء تطبيق على أساس الاتفاقيات وليس على الاعدادات. أي شيء تقليدي سيتصرف كما هو متوقع من قبل ASP.NET MVC ، أي شيء غير تقليدي سيحتاج إلى الاعداد.
إذا كنت تعرف ASP.NET WebForms (وخاصة إصداراته الأولى) ، فيجب أن تكون قد قضيت ساعات في التقارب على web.config حيث كان عليك تكوين أصغر عنصر من شأنه أن يخدمنا في تطبيقنا. انتهت تلك الأيام. 

تطبيق المفهوم على ASP.NET MVC


ربما تكون قد شاهدت أمثلة لتطبيقات هذا المفهوم على ASP.NET MVC عندما قمنا ببناء Hello World الخاص بنا وهذه الأمثلة لم تصدمك بالتأكيد. على سبيل المثال ، يجب وضع وحدة تحكم في دليل وحدات التحكم ... لم نكن بحاجة إلى الكتابة في ملف الاعدادات (configuration): "مرحبًا يا إطار العمل ، ستجد في هذا الدليل واجهات العرض وفي هذا سوف تجد وحدات التحكم الخاصة بي ". إنه يعلم أن وحدات التحكم موجودة افتراضيًا في دليل وحدة التحكم ، وهذا هو العرف.
الهدف من هذا المفهوم هو الحد من ملفات الاعدادات لأحد التطبيقات استنادًا إلى معايير الصناعة ، دون أن تكون مقيدة تمامًا. من الواضح أنه سيكون من الممكن تجاوز الاصطلاحات باعدادات أكثر ملاءمة. خذ وحدات التحكم الخاصة بنا مرة أخرى ؛ كلما زاد نمو التطبيق ، زاد عدد وحدات التحكم ... قد يكون من الحكمة ، على سبيل المثال ، نقل وحدات التحكم في مشروع منفصل وتخزينها في مجلدات وفقًا لمجال التطبيق. سيكون هذا ممكنًا عبر الاعدادات.
في الاصطلاحات الافتراضية ، نجد أيضًا حقيقة أن وحدة التحكم عبارة عن فئة تلحقها كلمة وحدة التحكم ، مثل فصلنا HomeController  . يعرف إطار عمل MVC أن وحدة التحكم Home   هي بالضرورة (حسب الاتفاقية) الفئة HomeController   الموجودة في دليل وحدة التحكم.
ستدرك أيضًا أن طرق العرض المتعلقة بوحدة التحكم موجودة في دليل طرق العرض ، في دليل فرعي بنفس اسم وحدة التحكم. لذلك ، في مثالنا ، تكون طرق عرض وحدة التحكم Home   في Views \ Home ... كما أن طريقة العرض الافتراضية للإجراء لها نفس اسم الإجراء ، مثل طريقة العرض Index.cshtml ...
لاحظ أيضًا أنه يتم وضع طرق العرض المشتركة والقابلة لإعادة الاستخدام في الدليل المشترك.
ومع ذلك ، ضع في اعتبارك أن قيمة الاتفاقيات التالية معترف بها كممارسة جيدة. لذا ، إذا قمت بدمج مجند جديد في فريقك وهو يعرف بالفعل اصطلاحات إطارك ، فسيكون على الفور أكثر كفاءة. سيكتسب كودك أيضًا في سهولة القراءة وقابلية الصيانة.

في الخلاصة


  • يحتوي ASP.NET MVC على عدد من الاصطلاحات لتبسيط وتسريع التطورات الخاصة بك.
  • غالبًا ما تتعلق هذه الاتفاقيات بالمواقع. على سبيل المثال ، توجد وحدات التحكم في دليل وحدات التحكم ، وطرق العرض في دليل طرق العرض ، وما إلى ذلك.
  • يجب أن تكون فئة وحدة التحكم ملحقة بكلمة وحدة تحكم ( مثال: الفئة HomeController  ) .
  • تتيح هذه الاصطلاحات تقليل حجم ملفات الاعدادات: يسمى هذا المفهوم "الاصطلاح بدلاً من العدادات" .

الاستنتاج العام للعبة


هذا كل شيء ، لقد أنهينا جولتنا الأولى من ASP.NET MVC ، وآمل أنك لم تصاب بدوار بالفعل.  بدأنا برؤية ما هو رئيس تصميم MVC وكيف سيساعدنا على هيكلة تطبيق الويب الخاص بنا. ثم تناولنا التطوير باستخدام Visual Studio لإنشاء أول Hello World MVC ... يمكننا أن نرى كيف تعمل وحدات التحكم ، وما هو المسار والارتباط الوثيق مع إجراءات وحدات التحكم. ثم أضفنا القليل من البهجة واللون مع المشاهدات التي سمحت لنا بعرض HTML جميل في متصفحنا. أخيرًا ، تعاملنا مع النموذج قليلاً لفهم ما سيكون قادرًا على خدمتنا وكيف تم استخدامه من قبل وحدة التحكم.
أخيرًا ، وصفنا مفهوم "الاصطلاح بدلاً من الاعدادات" وهو قوة ASP.NET MVC والذي يبسط إلى حد كبير إنشاء تطبيقات الويب الخاصة بنا من خلال اتباع الاصطلاحات الطبيعية لإطار MVC .
كل هذا لتبدأ وتجعلك ترغب في الاستمرار.  لقد تطرقنا للتو إلى ASP.NET MVC ، ولكن عليك أن تبدأ في إلقاء نظرة على الاحتمالات المختلفة لهذا الإطار وأتصور أنك تعج بالأفكار التي يمكنك تحقيقها في مواقع الويب التالية. لذلك دعونا نستمر دون انتظار دراستنا ؛ لهذا سنقوم بعمل تطبيق سيكون بمثابة خيط مشترك والذي سيسمح لنا باستكشاف بمزيد من التفصيل العناصر المختلفة التي رأيناها للتو. ستحصل على حجرك لإضافته إلى المبنى بفضل بعض النقاط الفنية التي سأقوم بتجهيزها لك ...