معرفی بسیار کامل از برنامه نویسی ASP.NET MVCReviewed by Amozesh3.com on Nov 7Rating:
معرفی بسیار کامل از برنامه نویسی ASP.NET MVC
ASP.NET MVC چارچوب جدیدیست که برای برنامه های کاربردی تحت وب، نگهداشت پذیری و آزمون پذیری بالایی را به ارمغان آورده است که این مهم توسط الگوی Model – View – Controller محقق می شود. این مدل برنامه نویسان را تشویق به جدا سازی سیستماتیک قسمتهای User Interface و قسمتهای مربوط به کنترل داده های وارد شده توسط کاربر و همچنین قسمتهای مربوط به ارتباط و تراکنش با پایگاه داده می کند.اما با معرفی ASP.NET MVC 3 و Wizard هایی که برای کار با آن به Visual Studio اضافه شد پروسه برنامه نویسی ASP.NET بسیار آسان و سریع شده است، تا حدی که اگر دیتابیس از قبل طراحی شده باشد تکمیل برنامه نویسی یک پروژه با حدود 10 جدول در بانک اطلاعاتی بیشتر از یکی دو ساعت زمان نخواهد گرفت.
MVC چیست؟
(MVC) مخفف (Model-View-Controller) است model مسئول نگهداری وضعیت (state) با نگهداری داده ها و به هنگام سازی آنها در پایگاه داده استcontroller مسئول انتخاب یک نمایش خاص، براساس وضعیت است، و view نمایش خاص داده ها است که توسط controller انتخاب می شود. برخلاف ASP.Net Web Forms که در آن View و Controller در یک صفحه قرار دارند در ASP.NET MVC این دو به دو جزء مجزا تقسیم می شوند، شاید بتوان گفت یک سایت را می توان با استفاده از ASP.NET Web Forms به گونه ای توسعه داد که مطابق با MVC Pattern طراحی شده باشد. اما استفاده از ASP.NET MVC برنامه نویسان را تا حد بسیار زیادی مجبور می کند تا MVC را پیاده سازی کنند.
اجزای تشکیل دهنده ( معماری) MVC :
Model (مدل) : قسمتی از برنامه کاربردی است که مسئول بازیابی داده از بانک اطلاعاتی، ذخیره آن، تبدیل آن به شی یا آبجکت ها و پیاده سازی منطق برنامه برای داده های مسئله است. در حقیقت بار اصلی معماری MVC بر عهده ی این بخش است. مثلاً یک آبجکت Product ممکن است اطلاعات را از بانک اطلاعاتی بازیابی کرده، بر روی آنها عملیاتی را انجام دهد و سرانجام نتیجه را در بانک اطلاعاتی در جدول Products ذخیره کند.
– view (نمایشگر) : اجزایی از برنامه است که واسط کاربری برنامه (UI) را می سازد. معمولاً این UI از داده های مدل ساخته می شود. در واقع نقطه پایان برنامه کاربردی است . به کاربر نتایج عملیات و بازیابی و نمایش داده از طریق برقراری ارتباط با دو بخش دیگر؛ یعنی مدل و کنترلگر را نشان می دهد. برای مثال، هنگامی که کاربر در فرم ورود به سیستم رمز عبور خود را وارد می کند، اکثر برنامه نویسان در همان فرم اقدام به چک کردن رمز عبور می کنند که این عمل مغایر با قوانین MVC است. در MVC هنگامی که کاربر رمز عبور را وارد کرد، رمز عبور بدون هیچگونه اعمالی به بخش های دیگر فرستاده می شود و فقط یک نتیجه ساده یا خبر از بخش های دیگر دریافت می کند که از طریق آن اجازه ی ورود به برنامه داده می شود.
– Controller (کنترلگر) : اجزایی از برنامه هستند که مدیریت تعامل با کاربر را بر عهده دارند. می توان گفت که واسط بین مدل و نمایشگر می باشند؛ یعنی با مدل کار می کند و در انتها نمایشگری را برای نشان دادن واسط کاربری انتخاب می کند. ورودی کاربر را مدیریت کرده و به آنها پاسخ می دهد و با کاربر تعامل می کند.
ویژگی های ASP.NET MVC
جداسازی وظایف کاربردی (منطق ورودی، منطق کاری و منطق واسط کاربری) و امکان تست کردن برنامه و طراحی و توسعه آزمون محور به صورت پیش فرض. تمام ارتباطات اصلی در MVC بر مبنای واسط است و می توان آن ها را با اشیای ساختگی Mick تست کرد. می توانید کنترلگرها را بدون اینکه آنها را در ASP.NET اجرا کنید، تست کنید و این باعث افزایش سرعت و انعطاف تست برنامه می شود. می توانید از هر فریم ورک تست که با فریم ورک Net. منطبق است برای اینکاراستفاده کنید.
فریم ورکی توسعه پذیر و قابل اتصال: اجزای اصلی ASP.NET MVC به گونه ای طراحی شده اندکه به راحتی جایگزین یا سفارشی شوند. می توانید به سادگی پیاده سازی های خودتان را جایگزین موتور نمایشگر، سیاست های آدرس، سریالی کردن پارامترهای متدهای عملیات یا سایر اجزا کنید. همچنین ASP.NET MVC از فریم ورک های تزریق وابستگی و وارونگی کنترل پشتیبانی می کند. به شما امکان می دهد به جای این که اشیا را توسط کلاس ها بسازید، آنها را از جایی بیرون از کد مثل فایل های تنظیمات بگیرید و این مسئله تست برنامه را ساده تر می کند.
نگاشت های قوی آدرس ها که امکان ساخت برنامه هایی با آدرس های با معنی و جستجو شدنی (قابل جستجو توسط موتورهای جستجوگر) را می دهدو نیازی نیست که آدرس ها پسوند فایل داشته باشند، آنها به گونه ای طراحی شده اند که از الگوهای نامگذاری قابل فهم برای موتورهای جستجوSEO و آدرس های انتقال وضعیت قابل نمایش REST پیروی کنند.