Теория MVVM

Sdílet
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

Komentáře • 29

  • @Boortwint
    @Boortwint Před 5 lety +14

    В каноничном MVC модель при своём изменении оповещает все подписанные на себя представления, чтобы последние на основе полученных данных изменили своё состояние при необходимости. На 1:10 модель вообще с представлением не дружит.
    Ладно, у mvc есть еще тип passive model, когда об изменениях модели представлениям рассказывает контроллер. Но всё же даже в mvc passive model данные из модели не передаются в представление через контроллер.
    То, с чем сравнивают mvvm в ролике выше, является скорее mvp, нежели mvc.

    • @user-cw1nn5zu4g
      @user-cw1nn5zu4g Před 2 lety

      дополню комментарий выше.
      Никогда не слышал про Massive View Controller, но слышал про ТТУК (толстые тупые уродливые контроллеры) + аналог про модель. Сейчас всю логику в контроллерах пишут либо олды, либо новички (порождая ттуки) - это все спагетти код. Остальные же стараются все выносить в классы или функции (сервисы, юз кейсы и т.п.) - это лазанья.
      Все MV* парадигмы хороши по-своему и плохи одновременно.

  • @my-horror-story
    @my-horror-story Před 2 lety +1

    Я андроид разработчик, но это видео было мне очень полезно

  • @mikhailvospennikov4218
    @mikhailvospennikov4218 Před 6 lety +38

    Прощай massive view controller, да здраствует massive view model!

    • @kingstonmatias1979
      @kingstonmatias1979 Před 2 lety

      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

    • @eddiezachariah9280
      @eddiezachariah9280 Před 2 lety

      @Kingston Matias instablaster ;)

    • @kingstonmatias1979
      @kingstonmatias1979 Před 2 lety

      @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.

    • @kingstonmatias1979
      @kingstonmatias1979 Před 2 lety

      @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!

    • @eddiezachariah9280
      @eddiezachariah9280 Před 2 lety

      @Kingston Matias no problem :D

  • @user-er5lu1rg9h
    @user-er5lu1rg9h Před 5 lety +10

    Доброго времени суток, просмотрел почти все ваши курсы на сайте, годный контент! Не хватает курса про RxSwift! Хотелось бы разбор демо проектов по RxSwift каких так правильно делать и не плодить говнокод.

    • @MaxBally
      @MaxBally Před 4 lety +5

      Чтобы не плодить говнокод с RxSwift, лучше не использовать RxSwift.

  • @user-vg7jz1sz5k
    @user-vg7jz1sz5k Před 5 měsíci

    observer subscriber ?

  • @artemhrebinik7288
    @artemhrebinik7288 Před 6 lety

    ещё!

    • @SwiftBook
      @SwiftBook  Před 6 lety

      :) остальное есть внутри самого курса! Здесь лишь теория!

    • @artemhrebinik7288
      @artemhrebinik7288 Před 6 lety

      та недавно только подписка закончилась!=)

    • @SwiftBook
      @SwiftBook  Před 6 lety

      :) ну тогда вы знаете, что делать! :)

  • @raevskih
    @raevskih Před 6 lety +3

    Примера на коде не хватает!

    • @SwiftBook
      @SwiftBook  Před 6 lety

      Пример есть в курсе, если есть подписка то сможете все примеры посмотреть.

  • @yegorunknown4475
    @yegorunknown4475 Před 3 lety

    А если я не использую сториборд, то весь код с UI идет в контроллер?

    • @yegorunknown4475
      @yegorunknown4475 Před 3 lety

      Посмотрев Ваш курс и читая литературу от raywenderlich заполнил дополнительно понимания.
      Мне кажется Вам стоит поправить.
      Model - ViewModel - View ( UIView )
      | /
      Controller
      Поправьте меня если я ошибаюсь.

  • @PoroLLIo4eG
    @PoroLLIo4eG Před 5 lety +19

    Автор, показывая MVC, говорит про MVP
    ммм

  • @eugenenovikov671
    @eugenenovikov671 Před 3 lety

    так и не понял в чём отличие от MVC, одно и то же по сути

    • @hallowf
      @hallowf Před 3 lety

      смотри, MVC не подходит для мобильных приложений, тогда придумали MVP, но он не поддерживал поворот экрана, отсюда создали MVVM. LiveData (не теряет данные после поворота экрана), DataBinding (часть кода перенесли в xml).
      MVC - сайт
      MVP, MVVM - приложение

    • @eugenenovikov671
      @eugenenovikov671 Před 3 lety

      @@hallowf какая связь между мобилка/десктоп и паттерном???? что за дичь

    • @eugenenovikov671
      @eugenenovikov671 Před 3 lety

      @@hallowf как паттерн может не поддерживать поворот экрана, вы вообще о чём???

    • @hallowf
      @hallowf Před 3 lety

      @@eugenenovikov671 смените ориентацию в своем приложении и увидите что данные которые вы ввели не сохраняются, т.к. активити пересоздается и все переменные обнуляются. Есть 4 способа решить проблему: запретить автоповорот экрана, сохранить данные в bundle, не пересоздавать активити после смены ориентации и MVVM Livedata, Databinding

    • @eugenenovikov671
      @eugenenovikov671 Před 3 lety +2

      @@hallowf ну это у вас в мобильной разработке костыль на костыле, у нас в энтерпрайзе всё норм. и всё равно непонятно прчиём тут ориентация экрана и паттерн проектирования, видать у вас там в мобильной разработке совсем всё плохо, раз уже паттерны от экрана зависят, переходите на pwa что ли