برنامه نویسی تحت وب

نرم افزار های تحت وب در ایران مهر با زبان  C# و بر اساس معماری ASP.NET MVC  شرکت Microsoft طراحی و تولید می گردد که در ادامه بیشتر با این نوع معماری آشنا خواهید شد.

معماری MVC در دهه 70 میلادی معرفی شد اما در آن زمان پیاده سازی برنامه های Stand Alone با استفاده از این معماری چندان مورد استقبال برنامه نویسان قرار نگرفت. اما با ظهور اینترنت و برنامه های مبتنی بر وب این معماری شانس دوباره ای یافت. از دلایل محبوبیت این معماری نظام بخشیدن به پروژه های طراحی سایت میباشد. معمولاً به علت همکاری چندین تکنولوژی مختلف با هم در برنامه های مبتنی بر وب ساختار پروژه های بزرگ پیچیده میشوند و اعمال تغییرات و همچنین رفع خطا های پروژه مشکل و زمانبر میشوند که معماری MVC با جداسازی لایه های مختلف برنامه نویسی تا حد زیادی این مشکل را رفع کرده است.

از دیگر مزایای این فریم ورک میتوان به کنترل کامل بر روی HTML نهایی ، پشتیبانی از فریم ورکهای گوناگون برای Unit Testing ، کنترل بر روی آدرسهای URL و تعامل راحت تر با فریم ورکهای javascript اشاره کرد.

MVC  چیست؟

نام MVC از  Model-View-Controller  گرفته شده و هدف اصلی آن جدا سازی اجزای تشکیل دهنده برنامه است. بخصوص برنامه هایی که دارای واسط کاربری گرافیکی هستند

این الگوی طراحی در سایر فریم ورک ها مثل Ruby on Rails و Django و Zend هم بکار برده شده است.

M در MVC معادل Model است و حاوی اطلاعاتی است که نهایتا در اختیار کاربر قرار خواهد گرفت.

مثلا اگر فرض کنیم اطلاعات یک شخص را میخواهیم به کاربر نشان دهیم ، کلاس مدل ما شامل property های زیر خواهد بود: نام، آدرس، ایمیل و تلفن

V  در MVC معادل View است. و حاوی نتیجه ای است که کاربر نهایتا در بروزر خواهد دید.

view  در واقع  user interface  برنامه ماست.

C  در MVC معادل Controller است. کنترلر رابط بین model وview   است.

کنترلر 3 مسئولیت اصلی دارد:

  • پردازش درخواست های ورودی
  • انجام عملیات بر روی مدل Domain Model
  • انتخاب view ای که باید در پاسخ به درخواست رندر شود

هر کنترلر شامل چندین متد public است که هر متد یک action ارائه میدهد که قرار است کنترلر بر روی مدل اجرا کند. هر action method در کنترلر با یک URL مرتبط است.

وقتی کنترلر درخواستی برای آن URL خاص دریافت میکند ، Action متناسب با آن را اجرا کرده و view انتخابی را رندر کرده و به بروزر برمی گرداند.

شکل زیر رابطه بین اجزای MVC را بخوبی نشان میدهد: