الگوی MVP
این الگو مشابه با الگوی MVC می باشد که در آن کنترلکننده با یک نمایشدهنده جایگزین شده است. این الگوی طراحی یک برنامهکاربردی را به سه قسمت تقسیم می کند: مدل، نما و نمایشدهنده. شکل۳ الگوی MVP را نشان میدهد :
مدل: مدل شامل مجموعه ای از کلاسها می باشد که منطق کار را مشخص می کنند، مدل همچنین قوانین کار برای دادهها را نیز مشخص می کند، به عبارت دیگر مشخص میکند که چگونه باید داده تغییر و دستکاری گردد.
نما: نما نشان دهنده ی کامپوننت های واسط کاربری از قبیل CSS، jQuery، html و غیره می باشد. نما تنها مسئول نمایش دادههایی می باشد که به عنوان یک نتیجه از سمت نمایشدهنده دریافت میشود. نما همچنین مدل را به واسط کاربری تبدیل میکند.
نمایشدهنده: نمایشدهنده به نیابت از نما مسئول مدیریت تمام رویدادهای واسط کاربری میباشد که ورودی کاربران را از طریق نما دریافت کرده و سپس آنها را با کمک مدل، پردازش میکند و نتایج را به نما بازمیگرداند. بر خلاف نما و کنترلکننده، نما و نمایشدهنده کاملا از یکدیگر جدا بوده و از طریق یک رابط با یکدیگر ارتباط برقرا می کنند. همچنین نمایشدهنده مانند کنترلکننده رفت و آمد درخواست های ورودی را مدیریت نمی کند.
این الگو نیز توسط برنامههای کاربردی ASP.NET Web Form که نیاز به ایجاد آزمون های واحد و خودکار برای صفحات دارای کد خود دارند نیز استفاده می شود. در برنامههای کاربردی ویندوزی نیز استفاده می شود. نکات کلیدی در مورد الگوی MVP:
کاربر با نما تعامل می کند
رابطه ی یک-به-یک بین نما و نمایشدهنده وجود دارد. یعنی یک نما تنها به یک نمایشدهنده و نه بیشتر، نگاشت شده است.
نما دارای مرجعی برای نمایشدهنده می باشد اما برای مدل مرجعی ندارد.
رابطه ی دو طرفه بین نما و نمایشدهنده وجود دارد.