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

Sdílet
Vložit
  • čas přidán 28. 06. 2020
  • Приветствую 🖐 друзья, в данных видео уроках мы начнем изучать архитектурный шаблон проектирования MVVM и Android Architecture Components.
    Можно поддержать автора и канал 🤝 купив полный курс по MVVM здесь:
    market-193881724?w=pro...
    🤝 Поддержка канала:
    ✅ ВКонтакте: donate_app?mid=-193881724
    ✅ Donationalerts www.donationalerts.com/r/yura...
    ❗️ Важные ссылки ❗️
    1️⃣ Скачать презентацию можно в группе mobile_developing
    √ Тэги для поиска:
    #kotlin #android #mvvm #androidstudio #firebase #telegram #создатьприложение #androidarchitecturecomponents #livedata #lifecycle #viewmodel #navigation

Komentáře • 147

  • @mr.developer
    @mr.developer  Před 3 lety +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 Před rokem

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

    • @OstapenkoYevgeniy
      @OstapenkoYevgeniy Před rokem

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

  • @va4402
    @va4402 Před rokem +1

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

  • @frankkevin5585
    @frankkevin5585 Před 4 lety +7

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

  • @nurzhano2930
    @nurzhano2930 Před rokem +2

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

  • @afinik
    @afinik Před 2 lety

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

  • @annasakharova922
    @annasakharova922 Před 4 lety +3

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

  • @BogaBoga911
    @BogaBoga911 Před 4 lety +36

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

  • @redballtoy
    @redballtoy Před 3 lety

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

  • @leojoshiro
    @leojoshiro Před 4 lety +9

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

  • @user-zi3yx8uo9d
    @user-zi3yx8uo9d Před 5 měsíci +2

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

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

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

  • @19-KOLLIEK
    @19-KOLLIEK Před 3 lety +4

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

  • @akvadecor
    @akvadecor Před rokem +1

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

  • @mercury1352
    @mercury1352 Před 3 lety

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

  • @olegkovalenko5708
    @olegkovalenko5708 Před 2 lety

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

    • @mr.developer
      @mr.developer  Před 2 lety

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

  • @alexandermakarov6546
    @alexandermakarov6546 Před 2 lety

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

  • @sergeynaksin5256
    @sergeynaksin5256 Před 2 lety

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

    • @mr.developer
      @mr.developer  Před 2 lety

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

  • @baronvan5166
    @baronvan5166 Před rokem +1

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

    • @Alex-gn6xb
      @Alex-gn6xb Před rokem

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

  • @NevilPlay
    @NevilPlay Před 3 lety

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

  • @1mYse1LF
    @1mYse1LF Před 4 lety +3

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

  • @ozodsaidov7427
    @ozodsaidov7427 Před 3 lety +1

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

  • @9Golod
    @9Golod Před rokem +1

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

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @abuiman5251
    @abuiman5251 Před 3 lety

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

  • @ivanstrelka3448
    @ivanstrelka3448 Před rokem +2

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

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

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

  • @yehorlevchenko3540
    @yehorlevchenko3540 Před 3 lety

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

  • @AliceMonUnitydeveloper
    @AliceMonUnitydeveloper Před 2 lety +1

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

  • @kafychannel
    @kafychannel Před 3 lety

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

  • @VictorFilinov
    @VictorFilinov Před 4 lety

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

  • @stefanserkhir6478
    @stefanserkhir6478 Před 3 lety +8

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

  • @denisbogoslovskiy6208
    @denisbogoslovskiy6208 Před 4 lety +1

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

  • @user-ow1he8qm2h
    @user-ow1he8qm2h Před rokem +1

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

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

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

  • @user-xd6mk4fp2l
    @user-xd6mk4fp2l Před 3 lety

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

  • @kimoterru503
    @kimoterru503 Před 3 lety

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

  • @NeSpor6
    @NeSpor6 Před 2 lety +1

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

  • @user-kq2yx7dk7x
    @user-kq2yx7dk7x Před 3 lety

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

  • @randyhardy566
    @randyhardy566 Před 2 lety +1

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

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @user-dt4bk5or6r
    @user-dt4bk5or6r Před 2 lety +2

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

    • @mr.developer
      @mr.developer  Před 2 lety

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

  • @VkusnyashkaMMM
    @VkusnyashkaMMM Před rokem +1

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

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @stasleonov5196
    @stasleonov5196 Před rokem

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

  • @MyLife-kn8mg
    @MyLife-kn8mg Před 3 lety +5

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

    • @denzmc
      @denzmc Před 3 lety +1

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

  • @ZVA_NOOK
    @ZVA_NOOK Před 2 lety +1

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

    • @mr.developer
      @mr.developer  Před 2 lety

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

  • @alexeytushnolob4845
    @alexeytushnolob4845 Před 2 lety +1

    Супер

  • @Mc.Lovin13
    @Mc.Lovin13 Před rokem +1

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

  • @youandpsycho625
    @youandpsycho625 Před rokem +1

    Спасибо!

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @redfox6089
    @redfox6089 Před 4 lety

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

  • @agentr227
    @agentr227 Před 3 lety

    ЛУЧШИЙ!

  • @nightscream3687
    @nightscream3687 Před 4 lety +1

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

    • @mr.developer
      @mr.developer  Před 4 lety +1

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

  • @tov3801
    @tov3801 Před 3 lety +1

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

  • @lme918
    @lme918 Před 3 lety +1

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

  • @romankaznov812
    @romankaznov812 Před 3 lety

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

  • @yakut54
    @yakut54 Před 5 měsíci +1

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

  • @break8090
    @break8090 Před 3 lety

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

  • @xinvestoriginal
    @xinvestoriginal Před 11 měsíci +1

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

  • @evggg
    @evggg Před 2 lety

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

    • @mr.developer
      @mr.developer  Před 2 lety

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

  • @OstapenkoYevgeniy
    @OstapenkoYevgeniy Před rokem +1

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

    • @OstapenkoYevgeniy
      @OstapenkoYevgeniy Před rokem

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

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @mark99999ish
    @mark99999ish Před 3 lety

    Подписался

  • @mr.developer
    @mr.developer  Před 4 lety

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

  • @KirillPyatnitsev
    @KirillPyatnitsev Před 2 lety +1

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

    • @mr.developer
      @mr.developer  Před 2 lety

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

  • @vava988
    @vava988 Před 5 měsíci

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

  • @karamba6936
    @karamba6936 Před rokem +1

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

  • @asp424
    @asp424 Před 3 lety +1

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

  • @user-kx2wf9nz2d
    @user-kx2wf9nz2d Před 4 lety

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

    • @mr.developer
      @mr.developer  Před 4 lety +1

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

    • @Discovery_Travel_
      @Discovery_Travel_ Před 4 lety +1

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

  • @serious_psychologist
    @serious_psychologist Před rokem +1

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

  • @KimarTV
    @KimarTV Před 3 lety

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

  • @andreyivanov8571
    @andreyivanov8571 Před 3 lety

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

    • @mr.developer
      @mr.developer  Před 3 lety

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

  • @warflow
    @warflow Před 3 lety +1

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

    • @warflow
      @warflow Před 3 lety

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

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @serious_psychologist
    @serious_psychologist Před 3 lety +1

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

  • @igorpi25
    @igorpi25 Před 3 lety

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

  • @07082012
    @07082012 Před 4 lety +1

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

    • @mr.developer
      @mr.developer  Před 4 lety +1

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

    • @alexandernifanin7366
      @alexandernifanin7366 Před 3 lety

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

  • @user-rw8zs7vz9u
    @user-rw8zs7vz9u Před rokem

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

  • @Sk-gb2hx
    @Sk-gb2hx Před 3 lety

    +

  • @user-fq4pc7fm2z
    @user-fq4pc7fm2z Před rokem

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

  • @serious_psychologist
    @serious_psychologist Před rokem +1

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

  • @vladimirx2587
    @vladimirx2587 Před rokem +1

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

    • @mr.developer
      @mr.developer  Před 8 měsíci

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

  • @user-jg4pk6bq2g
    @user-jg4pk6bq2g Před 4 lety

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

    • @mr.developer
      @mr.developer  Před 4 lety +3

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

    • @aer2212
      @aer2212 Před 3 lety

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

  • @firewatermoonsun
    @firewatermoonsun Před 2 lety

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

  • @Alex-gn6xb
    @Alex-gn6xb Před rokem

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

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

    View создаёт ViewModel??

  • @sersec2846
    @sersec2846 Před rokem +1

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

  • @dg4675
    @dg4675 Před 3 lety

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

  • @zzz-ru6ho
    @zzz-ru6ho Před rokem

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

    • @mr.developer
      @mr.developer  Před rokem

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

    • @zzz-ru6ho
      @zzz-ru6ho Před rokem

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

    • @mr.developer
      @mr.developer  Před rokem

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

  • @vadimkladovshchikov8387
    @vadimkladovshchikov8387 Před 2 měsíci

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

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

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

    • @DaniilK-hq5go
      @DaniilK-hq5go Před rokem

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

  • @onekzy4225
    @onekzy4225 Před 3 lety

    BD != DB

  • @mikeshilovski1512
    @mikeshilovski1512 Před 3 lety

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

  • @Bont1860
    @Bont1860 Před rokem

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

    • @mr.developer
      @mr.developer  Před rokem

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

  • @redice8928
    @redice8928 Před 2 lety

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