ASP.net MVC آیا دوره WebFormها به سر رسیده است؟

ASP.net MVC آیا دوره WebFormها به سر رسیده است؟
ASP.NET MVC فریم ورک قدرتمندی برای ایجاد برنامه های تحت وب است که از الگوی MVC استفاده می کند و توسط مایکروسافت به صورت متن باز (Open Source) توسعه داده شده است. MVC یک الگوی طراحی و مخفف کلمات Model-View-Controller است. فریم ورک ASP.NET MVC الگوی طراحی MVC را در محیط وب مایکروسافت یعنی ASP.NET پیاده سازی می کند.

وابستگی روز افزون ما به سامانه های مکانیزه و سپردن بیشتر امور به این سیستمها، به امری اجتناب ناپذیر بدل شده است. در این بین تولید کنندگان نرم افزار نیز تلاش می کنند تا نرم افزاری تولید کنند تا بتواند اکثر نیاز های متقاضیان را به بهترین نحو ممکن تامین کند و در همین راستا در تلاش هستند که روند تولید نرم افزار را به سمتی سوق دهند که ساختاری استاندارد و مورد تایید عمومی داشته باشد.

شاید بتوان گفت که دوران کد نویسی محض به پایان رسیده و همه چیز به سمت استفاده از زیر ساخت ها و ایجاد چارچوب های استاندارد وپیروی از آن ها در امر تولید بهتر نرم افزار در حرکت است.

بیائید ببینیم خصوصیات یک نرم افزار خوب چیست ؟

برشمردن تمامی خصوصیات یک نرم افزار خوب در این مقال نمی گنجد اما تعداد محدود و مهمی از آنها عبارتند از:

  1. قابلیت استفاده در محیط های مختلف.
  2. قابلیت استفاده مجدد.
  3. قابلیت تغییر و بهبود در کمترین زمان و هزینه.
  4. مصرف بهینه از حافظه و به طور کلی، منابع سیستم.

و……

مسئله چیست؟
اجازه دهید صورت مسئله را با یک مثال بیان کنیم.
فرض کنید نرم افزاری برای شرکتی نوشتید که بخشی از کار آن محاسبه سود وزیان شرکت در سال های مختلف و نمایش آنها در قالب جدولی از اعداد و ارقام است. حال صاحب برنامه پس از مدتی ازشما می خواهد برنامه را طوری تغییر دهید که همین اطلاعات را به گونه های مختلف دیگری مثلا نمودار های مختلف ( میله ای ، دایره ای و …) در اختیار داشته باشد و یا حتی بخواهد انها را به فرمت خاصی و در فایل های با فرمتهای مختلف، خروجی بگیرد. در این مواقع چطور مشکل را حل می کنید؟

راه حل :
همانطور که گفته شد یکی از خصوصیات نرم افزار خوب قابل تغییر بودن آن می باشد. فرض کنید که برنامه را به این شکل طراحی کرده اید:

یکی از مشکلات متداول سامانه های تولید شده آن است که تمامی عملیات داده ای، اعم از دریافت داده ها که مهمترین بخش است و همچنین پردازش و اصلاح و ثبت تغییرات آنها همگی در یک فرم طراحی و پیاده سازی شده اند. مشکل همین جا نمایان می شود. برقراری ارتباط مستقیم با منبع داده، جدای از اینکه مشکلات امنیتی دارد، باعث میشود که دست برنامه نویس را برای تغییرات آتی دربرنامه ببندد. چون داده ها درون خود فرم از منبع داده و به صورت مستقیم خوانده می شود پس هر تغییری مستلزم اعمال تغییر در تمامی فرم خواهد شد و حجم کار و در نتیجه زمان و هزینه را به شدت افزایش می دهد.

راه کار های نوین:
یکی از راه کار هایی که امروزه بیشتر شاهد استفاده ان هستیم، تولید نرم افزار بر اساس ساختار های لایه ای می باشد، بدین صورت که کل نرم افزار به تعداد لایه هایی تقسیم می شوند، هر لایه وظیفه خاص خود را دارد و لایه ها از خدمات و نتایج پردازش لایه های دیگر استفاده می کنند.
تعداد این لایه ها بسته به نرم افزار و طراحی می تواند ۲، ۳، ۴ یا ۵ لایه یا حتی بیشتر باشد. اما استاندارد آن که بیشتر از بقیه هم استفاده می شود ۳ لایه هست و به روشی که بر اساس این تئوری پیاده سازی می شود اصطلاحا ۳ Tire Programming گفته می شود.
در تئوری ۳ لایه، لایه ها عبارتند از:

  1. Data Access layer
  2. Business Logic Layer
  3. Presentation Layer

پس از مقدمه ای مختصر وارد بحث اصلی یعنی MVC (Model View Controller)  می شویم .

ASP.NET MVC فریم ورک قدرتمندی برای ایجاد اپلیکیشن های تحت وب است که از الگوی MVC استفاده می کند و توسط مایکروسافت به صورت اوپن سورس توسعه داده شده است. MVC یک الگوی طراحی و مخفف کلمات Model-View-Controller است. فریم ورک ASP.NET MVC الگوی طراحی MVC را در پلت فرم وب اپلیکیشن مایکروسافت یعنی ASP.NET پیاده سازی می کند. این فریم ورک اولین بار در دسامبر ۲۰۰۷ و با یک نسخه CTP توسط مایکروسافت معرفی شد. در مارس ۲۰۰۹ نسخه ۱ پایدار آن عرضه شد و یک ماه بعد یعنی در آپریل ۲۰۰۹ شرکت مایکروسافت سورس کد فریم ورک ASP.NET MVC را تحت مجوز MS-PL منتشر نمود.

MVC چیست؟

مفهوم کلیدی این فریم ورک همان سه حرف آخر آن یعنی MVC است. پس کمی در مورد آن توضیح می دهیم. همانطور که گفته شد، MVC یک الگوی طراحی است که همانطور که از نامش پیداست، یک پروژه نرم افزاری را به سه قسمت منطقی Model, View و Controller تقسیم می کند. شاید شما در حال حاضر با معماری ۳ لایه نرم افزاری آشنا باشید. اگر اینطور است، شما مشکلی در درک الگوی طراحی MVC نخواهید داشت. MVC مفهوم جدیدی نیست، خیلی وقت است که در جاوا، رابی، PHP و بسیاری پلت فرم های دیگر از این الگو برای طراحی نرم افزار استفاده می شده است. اما خب برای توسعه دهندگان ASP.NET تازه است. سه قسمت اصلی الگوی MVC :

  • Model : مدل قسمتی از یک اپلیکیشن است که وظایف سنگین دسترسی به داده ها، پیاده سازی منطق و موجودیت ها را بر عهده دارد. به طور معمول یک مدل وظیفه Map کردن جداول اطلاعاتی یک دیتابیس را به کلاس های شیء گرا و برعکس را بر عهده دارد. احتمالاً شما همین الان هم در پروژه های خود، مدل را پیاده سازی می کنید و به آن لایه دسترسی به داده می گویید Model باید طوری پیاده سازی شود که به هیچ وجه به رابط کاربری وابستگی نداشته باشد.
  • View : احتمالاً کاربرد View را حدس زده اید! رابط کاربری همان View است. در واقع بخشی که یک کاربر نهایی با آن تعامل خواهد داشت و اطلاعات را نمایش می دهد، View نام دارد. همانطور که رابط کاربری برای Model هیچ اهمیتی ندارد، اینکه چطور داده ها اعتبارسنجی یا ذخیره می شوند یا منطق اپلیکیشن شما چطور پیاده سازی شده است، برای View مهم نیست.
  • Controller : فضای خالی میان Model و View را Controller پر می کند. از آنجا که Model و View هیچ ارتباطی با هم ندارند و برای یکدیگر هیچ اهمیتی قائل نیستند، Controller داده ها را از Model به View برای نمایش به کاربر انتقال می دهد. کنترلرها تصمیم می گیرند که اطلاعاتی که شما وارد کرده اید را به کجا برسانند و همینطور چه چیزی را باید در خروجی مشاهده کنید. در واقع کنترل کننده و هماهنگ کننده میان Model و View است.

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

 

آهای، مدیران پروژه حرفه ای! برای آینده آماده اید؟
نظر خود را بگوئید

پیغام بگذارید

ایمیل شما با دیگران به اشتراک گذاشته نخواهد شد *

X

Hello,
Your location data will be used to help identify you and allow us to offer you great products and services. Your consent is important for us to do this and you are not obliged in any way to share this information with us. Thank you