موضوع مقاله :
شرح : MVC مخفف سه کلمه Model (مدل ) و View(نمايشگر) و controller( کنترلگر) است.
برخي از برنامه نويسان، همچنان از ASP.NET که بر مبناي فرم هاي وب و Postback است، استفاده مي کنند، برخي از ويژگي هاي MVC سود مي برند و بعضي ها هم دو پلت فرم را ترکيب مي کنند و اين موضوع بيانگر اين است که هيچکدام از پلت فرم ها ناقص يکديگر نيستند. در واقع MVC بر روي معماري هاي چند لايه اي جهت تفکيک بخش هاي مختلف برنامه (بخش هاي منطقي برنامه مانند داده ها، مجوزها، کنترل صحت داده ها و لايه هاي مرتبط با کاربر نهايي) قرار مي گيرد. مفهوم تازه اي نيست، خيلي وقت است که در جاوا، PHP و بسياري پلت فرم هاي ديگر از اين الگوها براي طراحي نرم افزار استفاده مي شود. اما براي طراحان و توسعه دهندگان ASP.NET تازگي دارد.
اجزاي تشکيل دهنده ي MVC
1- Model(مدل): قسمتي از برنامه کاربردي است که مسئول بازيابي داده از بانک اطلاعاتي، ذخيره آن، تبديل آن به شي يا آبجکت ها و پياده سازي منطق برنامه براي داده هاي دامنه ي مسئله است. در حقيقت بار اصلي معماري MVC بر عهده ي اين بخش است. مثلاً يک آبجکت Product ممکن است اطلاعات را از بانک اطلاعاتي بازيابي کرده، بر روي آنها عملياتي را انجام دهد و سرانجام نتيجه را در بانک اطلاعاتي يا در جدول Products ذخيره کند.
2- view(نمايشگر): اجزايي از برنامه است که واسط کاربري برنامه (UI) را مي سازد. معمولاً اين UI از داده هاي مدل ساخته مي شود. در واقع نقطه پايان برنامه کاربردي است . به کاربر نتايج عمليات و بازيابي و نمايش داده از طريق برقراري ارتباط با دو بخش ديگر؛ يعني مدل و کنترلگر را نشان مي دهد.براي مثال، هنگامي که کاربر در فرم ورود به سيستم رمز عبور خود را وارد مي کند، اکثر برنامه نويسان در همان فرم اقدام به چک کردن رمز عبور مي کنند که اين عمل مغاير با قوانين MVC است. در MVC هنگامي که کاربر رمز عبور را کرد، رمز عبور بدون هيچگونه اعمالي به بخش هاي ديگر فرستاده مي شود و فقط يک نتيجه ساده يا خبر از بخش هاي ديگر دريافت مي کند که از طريق آن اجازه ي ورود به برنامه داده مي شود.
3- Controller(کنترلگر): اجزايي از برنامه هستند که مديريت تعامل با کاربر را بر عهده دارند. مي توان گفت که واسط بين مدل و نمايشگر مي باشند؛ يعني با مدل کار مي کند و در انتها نمايشگري را براي نشان دادن واسط کاربري انتخاب مي کند. ورودي کاربر را مديريت کرده و به آنها پاسخ مي دهد و با کاربر تعامل مي کند. براي مثال، کنترلگر عبارت هاي پرس و جوي بانک اطلاعاتي را مديريت کرده و آن ها را به مدل ارسال مي کند، وظيفه اجراي پرس و جوها با مدل است.
چه زماني برنامه هاي MVC را ايجاد کنيم؟
شما بايد در هنگام انتخاب ASP.NET و ASP.NET MVCبراي ساخت برنامه هاي وبي بسيار دقت کنيد. MVC جايگزيني براي فرم هاي وب ASP.NET نيست و شما مي توانيد از هر کدام از آنها براي ساخت برنامه هاي وبي استفاده کنيد. اگر شما يک برنامه وبي بر مبناي فرم هاي وب داريد، مي توانيد همچنان آن را به همان شيوه ي سابق ادامه دهيد.
مزاياي برنامه هاي مبتني بر MVC
- با تقسيم يک برنامه به سه قسمت مدل، نمايشگر و کنترلگر، مديريت برنامه يا پروژه را ساده تر مي کند.
- از ViewState و فرم هاي سروري استفاده نمي کند و از اين نظر براي برنامه نويساني که تسلط کامل بر رفتار برنامه را مي خواهند عالي است.
- از الگوي کنترلگر جلو استفاده مي کند که درخواست هاي برنامه را توسط يک کنترلگر پردازش مي کند. اين مسئله باعث مي شود تا بتوانيم برنامه هايي را طراحي کنيم که از زير ساخت هاي غني مسير يابي پشتيباني مي کند.
- پشتيباني بهتري از طراحي و توسعه آزمون محور دارد.
- براي برنامه هاي پشتيباني شده توسط تيم هاي بزرگ برنامه نويسان که کنترل بسيار بر رفتار برنامه را مي خواهند، بهتر کار مي کنند.
مزاياي برنامه هاي مبتني بر وب فرم
- از مدل رويداد استفاده مي کند که وضعيت را روي HTTP حفظ مي کند. اين روش براي برنماه هاي وبي با منطق يک خطي مناسب است.
- از الگوي کنترلگر صفحه استفاده مي کند که به هر صفحه کارايي تابعي مي دهد.
- از View State و فرم هاي سروري استفاده مي کند که مديريت اطلاعات وضعيت را ساده تر مي کند.
- براي تيم هاي کوچک برنامه نويسي که مي خواهند با استفاده از صدها کنترل موجود براي ساخت سريع برنامه وبي استفاده کنند، مناسب است.
- عموماًبراي توسعه وب ساده تر است. زيرا اجراي آن ( کلاس Page، کنترل ها و …) متمرکز شده اند و معمولاً کد کمتري نسبت به MVC نياز دارد.
ويژگي هاي ASP.NET MVC
- جداسازي وظايف برنماه کاربردي (منطق ورودي، منطق کاري و منطق واسط کاربري) و امکان تست کردن برنامه و طراحي و توسعه آزمون محور به صورت پيش فرض. تمام ارتباطات اصلي در MVC بر مبناي واسط است و مي توان آن ها را با اشياي ساختگي Mick تست کرد. مي توانيد ک. نترلگرها را بدون اينکه آنها را در ASP.NET اجرا کنيد، تست کنيد و اين باعث افزايش سرعت و انعطاف تست برنامه مي شود. مي توانيد از هر فريم ورک تست که با فريم ورک Net. منطبق است براي اين کار استفاده کنيد.
- فريم ورکي توسعه پذير و قابل اتصال. اجزاي اصلي ASP.NET MVC به گونه اي طراحي شده اندکه به راحتي جايگزين يا سفارشي شوند. مي توانيد به سادگي پياده سازي هاي خودتان را جايگزين موتور نمايشگر، سياست هاي آدرس، سريالي کردن پارامترهاي متدهاي عمليات يا ساير اجزا کنيد. همچنين ASP.NET MVC از فريم ورک هاي تزريق وابستگي و وارونگي کنترل پشتيباني مي کند. به شما امکان مي دهد به جاي اين که اشيا را توسط کلاس ها بسازيد، آنها را از جايي بيرون از کد مثل فايل هاي تنظيمات بگيريد و اين مسئله تست برنامه را ساده تر مي کند.
- نگاشت هاي قوي آدرس ها که امکان ساخت برنامه هايي با آدرس هاي با معني و جستجو شدني (قابل جستجو توسط موتورهاي جستجوگر) را مي دهدو نيازي نيست که آدرس ها پسوند فايل داشته باشند، آنها به گونه اي طراحي شده اند که از الگوهاي نامگذاري قابل فهم براي موتورهاي جستجوSEO و آدرس هاي انتقال وضعيت قابل نمايش REST پيروي کنند.
- پشتيباني براي استفاده از نشانه گذاري در صفحات ASP.NET(فايل هاي aspx). کنترل هاي کاربر (فايل هاي ascx.) صفحات Master(با پسوند master.) به عنوان قالب هاي نمايشگر. شما مي توانيد از برخي ويژگي هاي موجودASP.NET از قبيل صفحات master تو در تو، اسکريپت دروني (<%=%>)، کنترل هاي سرور اعلان شده، قالب، انقياد داده ها، محلي سازي و … در فريم ورک ASP.NET MVC استفاده کنيد.
- پشتيباني از ويژگي هاي موجود ASP.NET : ASP.NET MVC به ما اين امکان را مي دهد تا از ويژگي هايي مانند مجوز فرم و تشخيص هويت ويندوز، مجوز آدرس ها، عضويت و نقش ها، خروجي و کش کردن داده ها و Session و مديريت وضعيت پروفايل، مانيتور کردن صحيح، سيستم پيکر بندي و معماري عرضه کننده استفاده کنيد.
شرکت ساخت وبسايت بهپردازان با بهترين و حرفهايترين برنامهنويسان و طراحان و سئوکاران آماده همکاري با شما ميباشد.