Теория MVVM

Поделиться
HTML-код
  • Опубликовано: 27 янв 2025

Комментарии • 29

  • @Boortwint
    @Boortwint 6 лет назад +14

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

    • @ЭдуардМингазов-д8ж
      @ЭдуардМингазов-д8ж 2 года назад

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

  • @mikhailvospennikov4218
    @mikhailvospennikov4218 6 лет назад +38

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

    • @kingstonmatias1979
      @kingstonmatias1979 3 года назад

      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 3 года назад

      @Kingston Matias instablaster ;)

    • @kingstonmatias1979
      @kingstonmatias1979 3 года назад

      @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 3 года назад

      @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 3 года назад

      @Kingston Matias no problem :D

  • @my-horror-story
    @my-horror-story 2 года назад +1

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

  • @СпиридоновМаксим-м6у

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

    • @MaxBally
      @MaxBally 5 лет назад +5

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

  • @AliaksandrSmirnou
    @AliaksandrSmirnou Год назад

    observer subscriber ?

  • @raevskih
    @raevskih 6 лет назад +3

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

    • @SwiftBook
      @SwiftBook  6 лет назад

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

  • @PoroLLIo4eG
    @PoroLLIo4eG 6 лет назад +19

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

  • @yegorunknown4475
    @yegorunknown4475 3 года назад

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

    • @yegorunknown4475
      @yegorunknown4475 3 года назад

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

  • @eugenenovikov671
    @eugenenovikov671 3 года назад

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

    • @hallowf
      @hallowf 3 года назад

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

    • @eugenenovikov671
      @eugenenovikov671 3 года назад

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

    • @eugenenovikov671
      @eugenenovikov671 3 года назад

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

    • @hallowf
      @hallowf 3 года назад

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

    • @eugenenovikov671
      @eugenenovikov671 3 года назад +2

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

  • @artemhrebinik7288
    @artemhrebinik7288 6 лет назад

    ещё!

    • @SwiftBook
      @SwiftBook  6 лет назад

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

    • @artemhrebinik7288
      @artemhrebinik7288 6 лет назад

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

    • @SwiftBook
      @SwiftBook  6 лет назад

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