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
Когда 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🔥7❤5🤮2