‫‫‫استفاده از الگوی mvp

حتماً تا به حال اسم mvp را چندین و چند بار شنیده و مطالبی را هم راجع به آن خوانده‌اید. mvp یک الگوی طراحی شبیه mvc است که بیشتر برای winform استفاده می‌شود. از جمله مزایای mvp عبارت‌اند از:

۱- Seperation of Concerns (جدا سازی بخش‌های مختلف): یعنی هر بخشی باید کار خودش را انجام دهد.
۲- loose coupling: کاهش وابستگی بین بخش‌های مختلف برنامه
۳- قابلیت‌های نگهداری و خوانایی بالا
۴- افزایش قابلیت unit test و تست پذیری
۵- کمک به جدا سازی کار طراح UI و برنامه‌نویس Code behind

پیاده‌سازی mvp هم مثل خیلی از design patternهای دیگر بر خلاف ظاهرش بسیار ساده است. mvp روش چندان عجیبی نیست به طوری که حتی ممکن است روش پیاده‌سازی UIی که خود شما تا حالا استفاده می‌کرده‌اید به طور ناخودآگاه شباهت زیادی به mvp داشته باشد. در روش mvp به ازای هر فرم سه کلاس برای model، view و presenter وجود دارد. البته برای view و model اینترفیس هم وجود دارد. view توسط فرم ویندوزی پیاده‌سازی می‌شود، model به منطق برنامه یا مثلاً دیتابیس وصل است، presenter هم رابط این دو تا است.

بهترین راه یادگیری mvp استفاده از مثال است. برای یادگیری بیشتر به منابع زیر مراجعه کنید:

http://www.dotnettips.info/2009/08/mvp.html
http://www.codeproject.com/KB/architecture/WinForms_MVP.aspx
http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/

دیدگاه‌ها

  1. شاهین کیاست

    سلام جناب محبی.
    از مطالب خوبتون تشکر می کنم.
    شما تفاوت MVP و MVC را در چه می بینید ؟
    البته  این مورد که فرمودین MVP بیشتر در Win form استفاده می شه را جایی ندیدم.
    تشکر

  2. afsharm

    سلام، ممنون. راستشو بخای من معمولاً خیلی درگیر بحث‌های تئوریک مثل تفاوت mvc و mvp نمی‌شم. همین که می‌بینم mvp انتخاب خوبی برای کاربرد مورد نظرم هست، بقیه چیزها رو فراموش می‌کنم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *