mvc vs mvvm vs mvp vs viper

mvc vs mvvm vs mvp vs viper

The MVC Pattern
هدف اصلی استفاده از الگوی MVC ، ارائه خدمات طراحی خلاقانه UI/UX است که منطق برنامه را به سه عنصر تقسیم می کند.

Model – مسئول لایه دسترسی به داده و داده است.
View – مسئول نمایش گرافیکی داده ها است.
Controller  - اجزای مدل و View را به هم متصل می کند.

The MVP Pattern

Model View Presenter (MVP) یکی دیگر از بهترین روش های معماری اپلیکیشن موبایل است. در جایی که MVC سعی می کند منطق view مربوط به کنترلر را نادیده بگیرد، MVP بیشتر منطق view را به کنترلر منتقل می کند، که آن را ارائه دهنده می نامد.
 
مدل MVP را می توان به چهار عنصر تقسیم کرد،
Model - در نقش یک واسط عمل می‌کند و داده هایی که باید در رابط کاربری نمایش داده شوند را تعریف می‌کند.
View – مسئول نمایش گرافیکی داده ها است.
Presenter – مثل یک پل بین Model و View است. Presenter داده‌های مختلف را از مخازن (Model) بازیابی می‌کند و آنها را برای نمایش در View آماده می‌کند.
به طور کلی Presenter to View به صورت یک به یک اتفاق می افتد، اگرچه View های پیچیده ممکن است با Presenter های متعدد تعامل کنند.

The MVVM Pattern

هر زمان که یک مدل نیاز به جداسازی رابط کاربری گرافیکی از منطق توسعه کسب و کار داشته باشد، توسعه دهندگان ترجیح می دهند از معماری MVVM iOS برای توسعه یک برنامه استفاده کنند. MVVM پلتفرم های XAML را با یک الگوی ذاتی، جدا از ارائه یک مدل نمای کامل، ارائه می دهد. سه عنصر اساسی در MVVM وجود دارد:

Model – ساختاری است که داده ها را مدیریت می کند.
View – View ها مسئول لایه ارائه هستند.
ViewModel – به عنوان یک واسطه بین Model و View کار می کند.

The VIPER Pattern

VIPER که مخفف عبارت View، Interactor، Presenter، Entity و Router است، مدلی است که پنج عنصر دارد تا توسعه دهندگان را با الگوهای معماری تمیز شگفت زده کند.

پنج عنصر  معماری VIPER هستند
 
View - مسئول تبادل اقدامات بین کاربران و ارائه دهنده است.
Interactor - حامل منطق تجاری است.
Presenter  - به داده های تعاملی دسترسی پیدا کرده و آن را به نمای ارسال کنید.
Entity - اشیاء مدل اصلی مورد استفاده توسط اینتراککتور را حمل می کند.
Router - منطق ناوبری را ذخیره می کند.
VIPER به طور پیوسته بر دیگر الگوهای معماری محبوب iOS در تست واحد پیروز می شود.
نویسنده :
مجید پورداود
  • مجید پورداود
  • مهندس نرم افزار و تحلیلگر ارشد سیستم های کامپیوتری تحت وب می باشم. از سال 1395 برنامه نویسی را شروع کردم و به زبان های php (فریم ورک laravel -codeigniter)  و زبان جاوا اسکریپت (فریم ورک express.js-nest.js)  تسلط دارم.  

ثبت دیدگاه جدید

0 دیدگاه

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