Шаблон MVVM по-простому + Android Architecture Components.

Поділитися
Вставка
  • Опубліковано 31 гру 2024

КОМЕНТАРІ • 150

  • @mr.developer
    @mr.developer  4 роки тому +3

    Можно поддержать автора и канал 🤝 купив полный курс по MVVM здесь:
    boosty.to/mr.developer/posts/fe32632b-1f7e-4c82-9a8e-d2a4e2cb2146?share=post_link
    Список уроков:
    1. Создание проекта.
    2. Заполнение activity_main.xml.
    3. Заполнение fragment_main.xml. Добавление note_item.xml
    4. Заполнение макетов. Добавление кнопок на тулбар
    5. Инициализация объектов в MainActivity
    6. Инициализация StartFragment.kt, создание модели AppNote.kt
    7. Создание DatabaseRepository.kt, реализация репозитория Room
    8. Создание базы данных AppRoomDatabase.kt
    9. Переход с MainFragment.kt на AddNewNoteFragment.kt
    10. Создание новой заметки
    11. Заполнение RecyclerView. Отображение списка заметок
    12. Переход в NoteFragment.kt, удаление заметки из БД
    13. Настройка поведения навигационного графа
    14. Создание с нуля проекта в Firebase
    15. Подключение к Firebase
    16. Макет для выбора базы данных
    17. Быстрая авторизация в Firebase
    18. Создание LiveData для работы с Firebase
    19. Создание новой заметки в Firebase
    20. Удаление заметки из Firebase
    21. Реализация функции выхода из аккаунта Firebase
    22. Добавление анимации в навигацию
    23. Сохранение настроек в SharedPreference.
    Где применим стек технологий:
    -Android SDK;
    -Kotlin;
    -MVVM;
    -LiveData;
    -ViewModel;
    -Room (SQLite);
    -Navigation;
    -Kotlin Coroutines;
    -Firebase SDK;
    -RecyclerView.

    • @Облакоизроз
      @Облакоизроз 2 роки тому

      Подскажите, пожалуйста, как происходит доступ к курсу? Он приходит на эмэил ?

    • @OstapenkoYevgeniy
      @OstapenkoYevgeniy Рік тому

      "Детские объяснения" на первых 7ми минутах.... дальше не знаю, не смотрел.... но буду!

  • @Inoy-y3p
    @Inoy-y3p 11 місяців тому +3

    Как же вы классно объясняете материал. Вот от вас бы посмотреть про MVI паттерн. Пока буду смотреть этот, но надеяться, что вы снимите серию про MVI. У вас дар. Спасибо.

  • @BogaBoga911
    @BogaBoga911 4 роки тому +37

    Продолжай пожалуйста, у тебя очень годный канал

    • @mr.developer
      @mr.developer  4 роки тому +1

      Благодарю за отзыв

  • @va4402
    @va4402 Рік тому +1

    Очень хорошо, что наткнулся на ваш канал. Очень все доступно. Спасибо.

  • @UlitkinaSlunka
    @UlitkinaSlunka 3 роки тому +2

    Наконец-то хоть кто-то нормально, по-человечески объяснил, спасибо огромное!!!

    • @mr.developer
      @mr.developer  3 роки тому

      Благодарю за отзыв 🤝

  • @Bullet_true
    @Bullet_true 16 днів тому

    Наконец хоть одно нормальное объяснение. Респект

  • @nurzhano2930
    @nurzhano2930 Рік тому +2

    Коротко и информативно, без всякой воды. Большое спасибо за видео!

  • @leojoshiro
    @leojoshiro 4 роки тому +9

    Bro, ты крутой конечно, долгожданный выпуск, только пожалуйста не останавливайся, я каждый день жду твой курс, архитектура - это супер, удачи во всех делах

    • @mr.developer
      @mr.developer  4 роки тому +2

      Благодарю за отзыв)

  • @ivanstrelka3448
    @ivanstrelka3448 2 роки тому +2

    Очень круто. Спасибо

  • @alexandermakarov6546
    @alexandermakarov6546 2 роки тому

    Очень крутая тема и видео, спасибо большое

  • @baronvan5166
    @baronvan5166 2 роки тому +1

    Это было лучшее видео с объяснением того как работает MVVM!!! Большое спасибо!!! До этого я смотрел кучу роликов где сразу вываливали кучу кода и говорили как это прекрасно использовать MVVM а теперь я начал понимать как вся эта цепочка работает. Еще раз огромное спасибо!

    • @Alex-gn6xb
      @Alex-gn6xb 2 роки тому

      как раз вообще ничего не понятно без примера кода . бред со стрелочками. поле этого видео вы что-то можете сделать ? вам хоть что-то понятно как это делать ?)) прям посмотрел и готов идти код пробовать ?) мне вот прогеру со стажем вообще не понятно . mvc бы построил и не ипал голову вью моделью ибо не понятно что это и главное зачем она когда есть ендпоинты

  • @frankkevin5585
    @frankkevin5585 4 роки тому +7

    Вы выдаёте то что я ищу и никак не могу понять большое спасибо👍👍👍

  • @afinik
    @afinik 3 роки тому

    Как же круто объяснил! Подписываюсь, ставлю лайк и продолжаю просмотр!!!

  • @randyhardy566
    @randyhardy566 2 роки тому +1

    Красавчик, то что нужно

    • @mr.developer
      @mr.developer  Рік тому

      Благодарю за отзыв, очень приятно ☺️🤝

  • @9Golod
    @9Golod 2 роки тому +1

    Только после этого видео, наконец-то, понял разницу между всеми mv.
    Огромное спасибо!

    • @mr.developer
      @mr.developer  Рік тому

      Благодарю за отзыв, очень приятно ☺️🤝

  • @POMAH_B_CTUXAX
    @POMAH_B_CTUXAX 4 роки тому +5

    "У меня не будет здесь поставленного слога, красивых выражений", а сам очень хорошо рассказал.

    • @mr.developer
      @mr.developer  4 роки тому +1

      Благодарю за отзыв )

  • @annasakharova922
    @annasakharova922 4 роки тому +3

    Спасибо за ваш труд! Тема очень интересует, с нетерпением ждем продолжения!

    • @mr.developer
      @mr.developer  4 роки тому

      Благодарю за отзыв)

  • @rudinandrey
    @rudinandrey Рік тому +2

    ну вот смотришь на эту схему, я где то на 10 минуте остановился, и задаешься вопросом, зачем нам ViewModel ? какая то там LiveData, почему это не может делать модель? почему модель не может уведомлять View ? зачем этот прокси объект все равно так и не понятно.

  • @РустамИсаков-ж1в
    @РустамИсаков-ж1в 2 роки тому +2

    Спасибо Юрий за прекрасно проделанную работу, обьсняешь просто, доступно и наглядно жаль что не развиваешь канал. Я бы к тебе пошел учиться

    • @mr.developer
      @mr.developer  2 роки тому

      Благодарю вас за отзыв 🤝

  • @MyLife-kn8mg
    @MyLife-kn8mg 4 роки тому +4

    Как мне повезло, что нашел ваш канал!
    Без воды, четкая и грамотная речь без слов паразитов, без всяких отсылок к сторонним ресурсам!
    Пожалуйста, не бросайте канал! Продолжайте!
    Лайк и подписка!

    • @denzmc
      @denzmc 3 роки тому +1

      Гонишь, не понятно

  • @olegkovalenko5708
    @olegkovalenko5708 2 роки тому

    Спасибо за труды ваши..очень интересно!

    • @mr.developer
      @mr.developer  2 роки тому

      Благодарю вас за отзыв 🤝

  • @Mc.Lovin13
    @Mc.Lovin13 Рік тому +1

    просто и понятно 🤌

  • @1mYse1LF
    @1mYse1LF 4 роки тому +3

    Нереально полезное видео, подобного даже близко не было на ютубе, всегда с оговрками, всегда с каким-то непонятным языком, тут же все прекрасно, надеюсь будешь продолжать и наберешь намного больше аудитории) Я думаю уже очень в скором времени.

    • @mr.developer
      @mr.developer  4 роки тому

      Благодарю за отзыв

  • @АндрейБабаш-ю9п
    @АндрейБабаш-ю9п 2 роки тому +1

    Все четко и понятно. Респект!)

    • @mr.developer
      @mr.developer  2 роки тому

      Благодарю за отзыв 🤝

  • @АнтонКувшинов-в3о
    @АнтонКувшинов-в3о 2 роки тому

    Спасибо за такой контент, очень долго искал нормального объяснения ))

  • @sergeynaksin5256
    @sergeynaksin5256 3 роки тому

    Спасибо тебе, добрый ты человек.
    Начинающим прям огонь. Всё наглядно!

    • @mr.developer
      @mr.developer  3 роки тому

      Благодарю вас за отзыв 🤝

  • @akvadecor
    @akvadecor 2 роки тому +1

    Отличная подача материала и простое объяснение!

  • @AliceMonUnitydeveloper
    @AliceMonUnitydeveloper 2 роки тому +1

    Спасибо большое за видео!

  • @ZVA_NOOK
    @ZVA_NOOK 2 роки тому +1

    Бизнес логику перенесите во 2 слой и будет клаcсическая SOA архитектура для веб-приложений.
    в общем, за последние 15 лет изменились на паттерны, а их описания.
    Серебряной пули не существует.
    А в целом - гут! Очень понятно и просто рассказано! )

    • @mr.developer
      @mr.developer  2 роки тому

      Постарайтесь делать все как на видео, я уже не помню, что и как там сделано.

  • @NeSpor6
    @NeSpor6 3 роки тому +1

    СПАСИБО ЗА ВИДЕО

  • @rudinandrey
    @rudinandrey 3 роки тому +2

    немного не понятно что из модели относится к тому что в самом телефоне будет, что будет относиться к бекенду, которое работает с базой данных. Или тут имеется в виду все это находится в телефоне, а БД это типа Firebase у которой свое API ? тогда причем тут замена базы данных? второе, ну вот есть MVC по сути одной стрелочкой отличается, то что не MV уведомляет V а M точно также уведомляет V о том что есть данные, забери их. В общем тема до конца не раскрыта.

  • @VkusnyashkaMMM
    @VkusnyashkaMMM 2 роки тому +1

    Спасибо большое!

    • @mr.developer
      @mr.developer  Рік тому

      Благодарю за отзыв, очень приятно ☺️🤝

  • @СултанТемирбай-и8я

    прекрасное объяснение большое спасибо

  • @yehorlevchenko3540
    @yehorlevchenko3540 4 роки тому

    Большое спасибо мужик, умеешь объяснить сложные вещи простыми словами

    • @mr.developer
      @mr.developer  4 роки тому

      Благодарю за отзыв

  • @redballtoy
    @redballtoy 4 роки тому

    Спасибо. Супер видео. С нетерпением жду продолжения. Очень редко где понятным языком и по полочкам раскладывают. Было бы классно параллельно лекции ещё делать пример что бы все это руками потрогать.

  • @ozodsaidov7427
    @ozodsaidov7427 4 роки тому +1

    Супер! Спасибо за инфу!

  • @stefanserkhir6478
    @stefanserkhir6478 4 роки тому +8

    Спасибо вам большое за столь подробное и внятное разъяснение. Не было ли у вас в планах сделать видео про различия MVC, MVP, MVVM?

  • @mercury1352
    @mercury1352 4 роки тому

    Oochen' dohotchivo obyasnili, spasibo Vam bol'shoe! 👍👍

  • @abuiman5251
    @abuiman5251 3 роки тому

    Спасибо за простоту объяснения!

  • @kafychannel
    @kafychannel 4 роки тому

    Годно, уже работал с данным паттерном,создавая приложение "Заметки", с помощью паттерна Repositories, в котором прописывается основная бизнес - логика приложения. Спасибо за твоё видео, освежил память)

  • @denisbogoslovskiy6208
    @denisbogoslovskiy6208 4 роки тому +1

    Спасибо за инфу !! лучший канал !)

    • @mr.developer
      @mr.developer  4 роки тому

      Благодарю за отзыв)

  • @stasleonov5196
    @stasleonov5196 2 роки тому

    Отлично, просто отлично

  • @VictorFilinov
    @VictorFilinov 4 роки тому

    Очень понятное объяснение, надеюсь дальше будет также понятно.

  • @alexeytushnolob4845
    @alexeytushnolob4845 3 роки тому +1

    Супер

  • @youandpsycho625
    @youandpsycho625 Рік тому +1

    Спасибо!

    • @mr.developer
      @mr.developer  Рік тому

      Благодарю вас за отзыв, очень приятно ☺️🤝

  • @АлександрБезденежных-р5л

    Отличное видео все емко и понятно

  • @kimoterru503
    @kimoterru503 3 роки тому

    Доходчиво и понятно 👍

  • @NevilPlay
    @NevilPlay 4 роки тому

    Все прекрасно понятно, спасибо!

  • @xinvestoriginal
    @xinvestoriginal Рік тому +1

    лайк за отличное объяснение ненужной библиотеки

  • @tov3801
    @tov3801 3 роки тому +1

    Большое человеческое спасибо 🙂🙂🙂 все чётко и ясно

  • @redfox6089
    @redfox6089 4 роки тому

    Молодец Юра, просто молодец, продолжай пожалуйста....

    • @mr.developer
      @mr.developer  4 роки тому

      Благодарю за отзыв)

  • @vava988
    @vava988 11 місяців тому

    Я так понимаю что ViewModel должен инкапсулировать не модель, а сервисы бизнес-слоя, а моделил тут это доменные модели но тогда должны быть модели уровня View которые данные для отрисовки предаставляют иначе слои "потекут"?

  • @asp424
    @asp424 3 роки тому +1

    Как уведомить ViewModel о том, что надо сделать изменения в БД?

  • @ЯрославПечурин
    @ЯрославПечурин 3 роки тому

    Спасибо за видео!)

  • @nightscream3687
    @nightscream3687 4 роки тому +1

    Простое объяснение, спасибо. Единственное чего я бы хотел увидеть - это немного кода для практики, теория это хорошо, но завтра она вылетит из головы, нужно написать, чтобы запомнить.

    • @mr.developer
      @mr.developer  4 роки тому +1

      Спасибо за отзыв, практика будет

  • @KirillPyatnitsev
    @KirillPyatnitsev 2 роки тому +1

    Друзья я купил курс у Юрия, если кто-то покупал, подскажите плиз, как долго вы ждали когда вам дадут ссылку на полный курс? Не терпится начать )

    • @mr.developer
      @mr.developer  2 роки тому

      Добрый вечер, извините за задержку, скинул вам инструкцию в лс)

  • @agentr227
    @agentr227 3 роки тому

    ЛУЧШИЙ!

    • @mr.developer
      @mr.developer  3 роки тому

      Спасибо большое вам😊

  • @evggg
    @evggg 3 роки тому

    Всё хорошо, только БД это DB )) И ещё в конце ты правильный вопрос задал: зачем это надо? Но потом прям радикально решил вьюхой стучаться в БД. А почему вью не может стучаться в модель? Из всего ролика я понял, что VM это какой-то посредник между вью и моделью и он ничего не делает. Вообще, я на Unity разрабатываю, и решил посмотреть, как же там обычные программисты используют паттерны, чтоб попробовать это в геймдеве. И вот в Unity вью это монобех (по сути отдельный класс, в котором можно и всю логику игры написать), который в принципе может и сам хранить данные для отображения. Поэтому у меня и возник такой вопрос насчет VM. Если в андроиде вью это нечто другое, нечто более легкое, чем монобех в юнити, тогда вопрос отпадает. Поясни, если не сложно)

    • @mr.developer
      @mr.developer  3 роки тому

      Привет, смысл всего это то, что есть только односторонняя связь. Vm может только уведомить вью об изменении

  • @ViktoriiaChernysheva
    @ViktoriiaChernysheva 2 місяці тому

    Я не совсем поняла, если ViewModel ничего не знает о View, то как именно ViewModel уведомляет View об изменениях в LiveData?

  • @ЮрийЖуравлев-т6ы
    @ЮрийЖуравлев-т6ы 4 роки тому

    По архитектурам есть курс на Coursera "Архитектура Android-приложений" от МФТИ, там как раз проходятся принципы сначала MVP, а потом MVVM, причём архитектуры внедряются на одно приложение без архитектуры + сначала реализуются свои классы, а потом готовая библиотека (Moxy и Architecture Components)

    • @mr.developer
      @mr.developer  4 роки тому +1

      Чем больше курсов, тем легче понять.

    • @Discovery_Travel_
      @Discovery_Travel_ 4 роки тому +1

      у тебя есть этот курс? можешь записи слить ?

  • @romankaznov812
    @romankaznov812 4 роки тому

    Здравствуйте.У меня возник вопрос.
    При таком подходе,когда существуют другие вспомогательные классы, к примеру классы сортировки данных или классы, которые изменяют в зависимости от данных интерфейс экрана ( цвет или размер элементов) нужно также все предоставлять через ViewModel?

  • @yakut54
    @yakut54 11 місяців тому +1

    ну.. типа, лайк... 🦧

  • @lme918
    @lme918 4 роки тому +1

    Слишком мало просмотров для такого годного контента.

  • @warflow
    @warflow 3 роки тому +1

    Хорошая подача материала, интересный контент
    Возник вопрос - на реальных проектах действительно такое разграничение ? то есть кто то модель пишет, а кто-то исключительно представление (view)

    • @warflow
      @warflow 3 роки тому

      или там как список задач ? и каждый берёт то что сможет сделать

    • @mr.developer
      @mr.developer  Рік тому

      Благодарю за отзыв, очень приятно ☺️🤝

  • @karamba6936
    @karamba6936 Рік тому +1

    вообще-то view и viewmodel используют domain сущности, так что хорошо они знают о model

  • @OstapenkoYevgeniy
    @OstapenkoYevgeniy Рік тому +1

    Так легко и просто стало понятно за 6 минут и 50 секунд, что/зачем и почему LiveData :) .... смотрим дальше....

    • @OstapenkoYevgeniy
      @OstapenkoYevgeniy Рік тому

      Да, и как читал комменты, все эти VM MV MVVM VVVM MMMVV и .т.д. прошу простить за бред..... как новичок, начинаю понимать MVVM.... смотрим дальше )

    • @mr.developer
      @mr.developer  Рік тому

      Благодарю вас за отзыв, очень приятно ☺️🤝

  • @andreyivanov8571
    @andreyivanov8571 4 роки тому

    Приветствую, спасибо за хорошо изложенный материал! У меня вопрос - при MVVM, где реализуется сама бизнес логика приложения? В Model или во ViewVodel? То есть если при каком либо действии пользователя нам не нужно запрашивать данные из БД или из веб сервера, а просто произвести над имеющимися данными какие либо изменения и предоставить пользователю, где размещать логику, которая будет заниматься этими изменениями в VM или в M?

    • @mr.developer
      @mr.developer  4 роки тому

      Приветствую, если я вас правильно понял, то данные хранятся в vm, модель содержит все необходимые реализации для работы с репозиторием.

  • @vladimirx2587
    @vladimirx2587 Рік тому +1

    Что за музыка играет на фоне?

    • @mr.developer
      @mr.developer  Рік тому

      Стандартная в редакторе))

  • @KimarTV
    @KimarTV 4 роки тому

    Очень интересно. Но если мы из вью обращаемся к бд, а потом меняем бд, то соответственно и логику меняем во вью. Зачем тогда модель?

  • @break8090
    @break8090 4 роки тому

    Бля спасибо брать. Всегда искал такую урок. Благодарю.

  • @07082012
    @07082012 4 роки тому +1

    Спасибо за урок. Очень хорошая подача материала. Но вот один момент все же остался непонятным. Когда заходит речь о любой разновидности трехслойной архитектуры, то чаще всего в качестве аргумента "зачем" приводят возможную смену СУБД. Но согласитесь, это ведь совсем не жизненный пример. Чаще всего СУБД остается той же весь жизненный цикл приложения. А если она и меняется, то как правило ради каких-то "фишек", которые есть в новой СУБД.И чтобы использовать эти фишки, нужно еще и логику приложения поменять, а не только поменять драйвер БД. Есть более практичные аргументы в пользу такого разделения? Я знаю только один профит - это изолирование бизнес-логики от инструментального окружения, чтобы можно было писать модульные тесты этой логики. И второй вопрос - в чем преимущество MVVM перед той же MVC или MVP? Как понять в каких случаях что лучше использовать?

    • @mr.developer
      @mr.developer  4 роки тому +1

      Спасибо за отзыв. 1. MVVM несет не только пользу в виде замены БД, это просто явный пример, который можно показать. Так же это масштабируемость, тестирование, поддержка кода, чтение кода, минимизация логических ошибок. 2. MVC и MVP хорошие потерны, но устаревшие. Главное преимущество это то, что ViewModel не имеет ссылок на View, а передает состояние STATE. Это решает много проблем. Так же, у Google есть Android Arch. Components которые отлично ложатся на MVVM.

    • @alexandernifanin7366
      @alexandernifanin7366 4 роки тому

      Согласен, замена БД - почти нереальный случай. Во всех этих архитектурах UI-слоя хотят вынести обращение к БД/сети из UI-слоя. Это улучшает поддержку кода, позволяет обращаться одними и теми же методами к модели из разных View. Когда все обращения прописаны во View, становится очень жёстко, приходится одно и то же писать в разных View, а любые изменения в модели ведут к рефакторингу сразу в нескольких View.
      Эти архитектуры направлены на борьбу с ЖЦ Андроида. Когда поворот экрана пересоздаёт View, было бы неправильно снова считывать или посылать данные в модель. Поэтому модель становится независимой от ЖЦ, а View продолжает создаваться и исчезать.
      ViewModel намного лучше Presenter. Presenter, по сути, не так далеко от View ушёл, его тоже приходится сохранять во время смены конфигурации. Затем снова пробрасывать данные во View. Там есть неконсистентные состояния. Во ViewModel же данные подхватываются во View через Observable.

  • @mr.developer
    @mr.developer  4 роки тому

    Обсудить можно в чате в Телеграмм.
    t.me/mobile_developing_chat

  • @igorpi25
    @igorpi25 3 роки тому

    10:59 в реальности, конечно, поменять бд не получится, хоть с mvvm хоть без него. Так не бывает, и надеяться на это не стоит. Весь код превратится в гавно через полтора года, и все надо будет переписать. Именно так надо проектировать работу, и концентрироваться на текущем моменте и бизнес задачах.
    P. S: Урок отличный, спасибо, продолжайте

  • @rudinandrey
    @rudinandrey Рік тому +1

    тоже не правда, вы можете менять поведение какого то модуля, но у вас не будет меняться все приложение, во первых так практически никогда не бывает, во вторых если что-то меняешь, меняешь во всех модулях, т.е. добавил поле, ты его и в модели, и в VM и View везде будешь менять и прокидывать. И да, типа можно было View в базу данных :) ну это слишком прямой путь, почему View не может в Model слой ходить за данными?

  • @firewatermoonsun
    @firewatermoonsun 2 роки тому

    Так и не понял в чем разница между контроллером в mvc и ViewModel в mvvn.

  • @ВЕЗЕР-г1л
    @ВЕЗЕР-г1л 2 роки тому

    Clean Architecture это тоже один из шаблонов как и MVVM?

  • @JamesBond-bu8co
    @JamesBond-bu8co 3 місяці тому

    Такие схемы показывают в каждом видео по паттернам, но ни в одном из них, к сожалению, не раскрывают главную на мой взгляд тему - роль ViewModel (также как роль Controller в MVC, или Presenter в MVP). Да, все говорят, что "они делают то-то и то-то". Но человеку уже дозревшему до изучения паттернов очень сложно уложить в голове идею, что какой-то класс служит ретранслятором для запросов между двумя другими классами - нафиг это нужно?..)) Понять это можно только увидев код, а код никто не показывает. А нужен-то всего лишь утрированный пример - хоть для приложения с одной кнопкой - и все сложится. Я, например, таких примеров не видел, и потому не могу сказать, что понял эти паттерны.

  • @АлександрСосо-щ1б
    @АлександрСосо-щ1б 2 роки тому

    т.е. на практике viewmodel это какой-нибудь редакс или мобх?

  • @РожковАндрей-х8ш
    @РожковАндрей-х8ш 4 роки тому

    Идея понятна, только я не до конца понял зачем, чтоб удалить элемент списка, нужно опять обращаться к бд и скачивать тот же список только без одного элемента?! За видео спасибо)

    • @mr.developer
      @mr.developer  4 роки тому +3

      Здравствуйте, что бы сохранить целостность данных.

    • @aer2212
      @aer2212 4 роки тому

      @@mr.developer тоже не понятно. Разве не правильнее просто отправить уведомление от View на удаление такого-то элемента? Зачем перечитывать? И зачем нужен ViewModel? Почему бы просто из View не общаться с Model? По-моему, какое-то лишнее нагромождение. Ведь по сути он делает то же самое, что и View, только в виртуальном виде у себя в памяти.

  • @Денис-д1у2д
    @Денис-д1у2д 3 роки тому

    View создаёт ViewModel??

  • @aer2212
    @aer2212 4 роки тому +3

    Схема понятна, но роль ViewModel совсем не понятна. Тема не раскрыта. По-моему, этот элемент лишний. Почему бы из View не обращаться напрямую к Model? Зачем городить огород?

    • @vdrmkr
      @vdrmkr 2 роки тому

      Судя по этому вопросу на момент написания комментария вам не знакомы даже принципы ООП, соответвенно заниматься андроидом ещё рановато.

  • @mark99999ish
    @mark99999ish 3 роки тому

    Подписался

  • @Alex-gn6xb
    @Alex-gn6xb 2 роки тому

    все очень просто и что такое вью модель не понятно вообще. класс. это логика на ангуляре ?
    и главное зачем вообще эта кенгуру нужна если есть mvc

  • @vadimkladovshchikov8387
    @vadimkladovshchikov8387 8 місяців тому

    ViewModel ничего не знает о View... ViewModel уведомляет View о том, что изменилась LiveData...

  • @zzz-ru6ho
    @zzz-ru6ho 2 роки тому

    прикол в том, что в 99% случаев, базу никто никогда не будет менять))) да, ясно что для огромных проектов это удобно с точки зрения компоновки пакетов, всё в разных файликах, более менее стандартизировано, но для большинства задач - можно просто из вью идти в бд)

    • @mr.developer
      @mr.developer  2 роки тому

      Из вью ходить в сеть, это самый большой треш который может быть в приложении. Я бы такого в команде у себя не потерпел.

    • @zzz-ru6ho
      @zzz-ru6ho 2 роки тому

      @@mr.developer я бы к дуболому который боится сделать шаг влево/вправо от стандарта потому что так написано в книжке, никогда бы сама не пошла.
      нужно понимать в каких случаях и что актуально. важна целесообразность, Вась. ты бы у меня собеседос скорее всего провалил. ты ж наверно из тех, кто ради одного запроса в сеть будет ставить ретрофит и окхттп, ага? (с мотивацией: "на всякий случай")

    • @mr.developer
      @mr.developer  2 роки тому

      ), в полемику вступать с вами не буду. Хотите делайте так, это ваше право.

  • @dg4675
    @dg4675 3 роки тому

    Орнул с BD). Db - database, БД - база данных)

  • @sersec2846
    @sersec2846 Рік тому +1

    Закоренелый бэкендщик )))

  • @mikeshilovski1512
    @mikeshilovski1512 3 роки тому

    чет очень на mvc смахивает

  • @Sk-gb2hx
    @Sk-gb2hx 3 роки тому

    +

  • @onekzy4225
    @onekzy4225 3 роки тому

    BD != DB

  • @redice8928
    @redice8928 2 роки тому

    Чушь, никакой ясности, в чем суть, зато кружочки квадратики и стрелочки нарисовал

  • @Bont1860
    @Bont1860 2 роки тому

    какая нифиг алина аахаха 99% разрабов это мужчины) Бабам проще ногти пойти красить, чем голову напрягать

    • @mr.developer
      @mr.developer  2 роки тому

      На самом деле много разрабов и девочек)