+2 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

علاوه بر MVC الگوی معماری دیگری با نام Model View ViewModel (MVVM) وجود دارد، تفاوت های بین این دو الگو چیست؟

2 پاسخ

+2 امتیاز
قبل توسط (7.2هزار امتیاز)
ویرایش شده قبل توسط
 
بهترین پاسخ

کارکرد Model و View در این دو الگو یکی است. تنها Controller با ViewModel جایگزین شده که در اینجا به شرح آن دو می پردازم:

کنترلر پس از یک چرخه نمایش دیتا و تصمیم گیری کاربر، مدل را به روز رسانی می کند و سپس مدل ویو را می سازد. یعنی ایجاد ویو مستقیما متاثر از تصمیم گیری کنترلر است. و کنترلر تصمیم می گبرد چه اطلاعاتی نمایش داده شود.

در حالی که ViewModel به وسیله یک Binder به روز رسانی ویو را انجام می دهد، اما این به چه معنی است؟

یعنی هر عنصر نمایش داده شده به یک مدل موجود در ViewModel مرتبط شده است و این ویو است که تصمیم می گیرد از کدام اطلاعات موجود در ViewModel بهره گیرد.

مقایسه Controller و ViewModel
Contoller ViewModel
  • روند تولید و کد زدن ملموس تر می باشد ، زیرا دقیقا می دانیم کنترلر کجا را تحت تاثیر قرار می دهد.
  • ازیکViewModelبرای چند ویو می توان استفاده کرد.
  • UIDesigner و Developer می توانند به صورت موازی کار کنند
  • تغییر View بدون تغییر دادن ViewModel ممکن است.

 

قبل توسط (8.6هزار امتیاز)
بسیار عالی . ممنون
0 امتیاز
قبل توسط (68 امتیاز)

الگوی Model View Controller) MVC) یکی از اولین الگو‌هایی است که برای اپلیکیشن‌های تحت وب توسعه یافت. یک الگوی MVC به ما اجازه می‌دهد که اپلیکیشن را با جداسازی نقاط تمرکزمان گسترش دهیم که در واقع این کار باعث تسهیل تست کردن، نگهداری و گسترش‌پذیری می‌شود. معماری MVC ایجاد شد تا کد‌های سطح UI را کاهش دهد و همچنین کد را تمیز‌تر و قابل مدیریت‌تر کند.

معماری Model View ViewModel) MVVM) شکل اصلاح‌شده‌ی MVC است و اتصال دوطرفه بین View و ViewModel را پشتیبانی می‌کند.

این معماری اجازه می‌دهد که تغییرات ViewModel بطور خودکار روی View انجام شود.

مشاهده کامل مطلب...

سوالات مشابه

+2 امتیاز
3 پاسخ 10.5هزار بازدید
0 امتیاز
0 پاسخ 921 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط mp (7.0هزار امتیاز)
0 امتیاز
1 پاسخ 304 بازدید
+1 امتیاز
1 پاسخ 519 بازدید
+2 امتیاز
1 پاسخ 2.3هزار بازدید
...