Теория MVVM
Vložit
- čas přidán 20. 05. 2018
- Добрый день!
Мы все с вами уже давно знакомы с архитектурой MVC, теперь настал черед познакомиться с новой для нас архитектурой MVVM.
Начнем мы с вами как всегда с интерактивной теории, чтобы полностью закрыть все возможные пробелы в понимании.
В данном видео мы с вами начнем с того, что уже хорошо знаем -MVC и постепенно перейдем к MVVM.
Данное видео является отрывком из курса по архитектуре MVVM swiftbook.ru/contents/mvvm-pa....
Поехали!
Подробнее об изучении Swift вы можете узнать на нашем сайте:
swiftbook.org/
Наш форум, где вы всегда можете задать ваши вопросы:
forum.swiftbook.ru
Присоединяйтесь к нашей группе в "ВКонтакте":
swiftbook
Присоединяйтесь к нашей группе в "facebook":
/ swiftbook.ru
Мы в твиттере:
/ swiftbook_twi
Мы в telegram:
t.me/swiftbook_chat
В каноничном MVC модель при своём изменении оповещает все подписанные на себя представления, чтобы последние на основе полученных данных изменили своё состояние при необходимости. На 1:10 модель вообще с представлением не дружит.
Ладно, у mvc есть еще тип passive model, когда об изменениях модели представлениям рассказывает контроллер. Но всё же даже в mvc passive model данные из модели не передаются в представление через контроллер.
То, с чем сравнивают mvvm в ролике выше, является скорее mvp, нежели mvc.
дополню комментарий выше.
Никогда не слышал про Massive View Controller, но слышал про ТТУК (толстые тупые уродливые контроллеры) + аналог про модель. Сейчас всю логику в контроллерах пишут либо олды, либо новички (порождая ттуки) - это все спагетти код. Остальные же стараются все выносить в классы или функции (сервисы, юз кейсы и т.п.) - это лазанья.
Все MV* парадигмы хороши по-своему и плохи одновременно.
Я андроид разработчик, но это видео было мне очень полезно
Прощай massive view controller, да здраствует massive view model!
You all prolly dont give a shit but does anyone know of a trick to log back into an Instagram account??
I was stupid forgot the account password. I appreciate any assistance you can give me
@Kingston Matias instablaster ;)
@Eddie Zachariah i really appreciate your reply. I got to the site through google and Im waiting for the hacking stuff now.
I see it takes quite some time so I will get back to you later when my account password hopefully is recovered.
@Eddie Zachariah It did the trick and I actually got access to my account again. I am so happy:D
Thanks so much, you saved my account!
@Kingston Matias no problem :D
Доброго времени суток, просмотрел почти все ваши курсы на сайте, годный контент! Не хватает курса про RxSwift! Хотелось бы разбор демо проектов по RxSwift каких так правильно делать и не плодить говнокод.
Чтобы не плодить говнокод с RxSwift, лучше не использовать RxSwift.
observer subscriber ?
ещё!
:) остальное есть внутри самого курса! Здесь лишь теория!
та недавно только подписка закончилась!=)
:) ну тогда вы знаете, что делать! :)
Примера на коде не хватает!
Пример есть в курсе, если есть подписка то сможете все примеры посмотреть.
А если я не использую сториборд, то весь код с UI идет в контроллер?
Посмотрев Ваш курс и читая литературу от raywenderlich заполнил дополнительно понимания.
Мне кажется Вам стоит поправить.
Model - ViewModel - View ( UIView )
| /
Controller
Поправьте меня если я ошибаюсь.
Автор, показывая MVC, говорит про MVP
ммм
так и не понял в чём отличие от MVC, одно и то же по сути
смотри, MVC не подходит для мобильных приложений, тогда придумали MVP, но он не поддерживал поворот экрана, отсюда создали MVVM. LiveData (не теряет данные после поворота экрана), DataBinding (часть кода перенесли в xml).
MVC - сайт
MVP, MVVM - приложение
@@hallowf какая связь между мобилка/десктоп и паттерном???? что за дичь
@@hallowf как паттерн может не поддерживать поворот экрана, вы вообще о чём???
@@eugenenovikov671 смените ориентацию в своем приложении и увидите что данные которые вы ввели не сохраняются, т.к. активити пересоздается и все переменные обнуляются. Есть 4 способа решить проблему: запретить автоповорот экрана, сохранить данные в bundle, не пересоздавать активити после смены ориентации и MVVM Livedata, Databinding
@@hallowf ну это у вас в мобильной разработке костыль на костыле, у нас в энтерпрайзе всё норм. и всё равно непонятно прчиём тут ориентация экрана и паттерн проектирования, видать у вас там в мобильной разработке совсем всё плохо, раз уже паттерны от экрана зависят, переходите на pwa что ли