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

Поділитися
Вставка
  • Опубліковано 6 вер 2024
  • Приветствую 🖐 друзья, в данных видео уроках мы начнем изучать архитектурный шаблон проектирования MVVM и Android Architecture Components.
    Можно поддержать автора и канал 🤝 купив полный курс по MVVM здесь:
    market-...
    🤝 Поддержка канала:
    ✅ ВКонтакте: donate_...
    ✅ Donationalerts www.donational....
    ❗️ Важные ссылки ❗️
    1️⃣ Скачать презентацию можно в группе mobile_...
    √ Тэги для поиска:
    #kotlin #android #mvvm #androidstudio #firebase #telegram #создатьприложение #androidarchitecturecomponents #livedata #lifecycle #viewmodel #navigation

КОМЕНТАРІ • 147

  • @mr.developer
    @mr.developer  3 роки тому +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.

    • @user-bg1do8uv9y
      @user-bg1do8uv9y Рік тому

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

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

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

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

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

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

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

  • @19-KOLLIEK
    @19-KOLLIEK 3 роки тому +4

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

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

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

  • @user-zi3yx8uo9d
    @user-zi3yx8uo9d 8 місяців тому +2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • @Alex-gn6xb
      @Alex-gn6xb Рік тому

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

  • @9Golod
    @9Golod Рік тому +1

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

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

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

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

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

  • @user-dt4bk5or6r
    @user-dt4bk5or6r 2 роки тому +2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

    Супер

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

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

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

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

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

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

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

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

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

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

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

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

  • @user-ow1he8qm2h
    @user-ow1he8qm2h 2 роки тому +1

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

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

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

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

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

  • @user-gl2xn5dd3e
    @user-gl2xn5dd3e 2 роки тому

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

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

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

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

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

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

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

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

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

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

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

  • @user-dp2qu8zv6d
    @user-dp2qu8zv6d 2 роки тому

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

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

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

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

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

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

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

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

    Спасибо!

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

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

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

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

    • @mr.developer
      @mr.developer  10 місяців тому

      Ага тоже лайк 👍

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

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

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

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

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

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

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

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

  • @user-xd6mk4fp2l
    @user-xd6mk4fp2l 3 роки тому

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

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

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

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

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

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

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

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

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

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

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

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

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

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

    ЛУЧШИЙ!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @user-kq2yx7dk7x
    @user-kq2yx7dk7x 3 роки тому

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

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

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

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

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

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

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

  • @user-kx2wf9nz2d
    @user-kx2wf9nz2d 4 роки тому

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

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

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

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

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

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

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

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

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

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

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

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

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

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

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

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

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

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

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

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

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

    Подписался

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

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

    • @mr.developer
      @mr.developer  10 місяців тому

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

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

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

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

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

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

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

  • @Alex-gn6xb
    @Alex-gn6xb Рік тому

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

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

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

  • @user-rw8zs7vz9u
    @user-rw8zs7vz9u 2 роки тому

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

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

    +

  • @user-fq4pc7fm2z
    @user-fq4pc7fm2z Рік тому

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

  • @user-jg4pk6bq2g
    @user-jg4pk6bq2g 4 роки тому

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

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

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

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

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

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

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

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

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

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

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

  • @user-ii9xe4pu6x
    @user-ii9xe4pu6x 2 роки тому

    View создаёт ViewModel??

  • @zzz-ru6ho
    @zzz-ru6ho Рік тому

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

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

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

    • @zzz-ru6ho
      @zzz-ru6ho Рік тому

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

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

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

  • @vadimkladovshchikov8387
    @vadimkladovshchikov8387 4 місяці тому

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

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

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

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

    BD != DB

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

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

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

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

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

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

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

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