iOS Такой 🍏
3.36K subscribers
427 photos
11 videos
2 files
304 links
IT | Подкасты | Apple | iOS Материалы | Swift

Реклама: @new_repository

Тёплый чат: https://t.me/+tzWmsOMTPpFjMzAy

Бусти: boosty.to/dimov_ios
Download Telegram
MVVM на практике UIKit

Когда iOS впервые появилась, Apple предложила использовать MVC (Model-View-Controller) в качестве шаблона проектирования. Они показали это во всех своих примерах, и все первые разработчики были счастливы использовать его, потому что он прекрасно разделял проблемы между бизнес-логикой и пользовательским интерфейсом. По мере того, как приложения становились больше и сложнее, возникла новая проблема, получившая соответствующее название Massive View Controllers (MVC).

Поскольку вся бизнес-логика была добавлена в ViewController, со временем они обычно становились слишком большими и сложными. Чтобы избежать проблем с MVC, в мире iOS был введен новый шаблон проектирования - шаблон Model-View-ViewModel (MVVM).

Как выглядит MVVM. У вас есть стандартный ViewController + View (в storyboard, XIB или Code), который действует как представление MVVM (в дальнейшем text - View будет ссылаться на представление MVVM). Представление имеет ссылку на ViewModel, где находится наша бизнес-логика. Важно заметить, что ViewModel ничего не знает о представлении и никогда не имеет ссылки на представление. ViewModel содержит ссылку на модель.

Одна из основных проблем с MVVM заключается в том, как обновить View с помощью ViewModel, когда ViewModel не имеет никаких ссылок и даже ничего не знает о View.

Смотреть видео про архитектурный паттрен MVVM

#swift #mvvm
👍10🔥75🤮2