Архитектура. M(VC, VP, VVM) [RU] / Мобильный разработчик

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ม.ค. 2025

ความคิดเห็น • 158

  • @MobileDeveloper
    @MobileDeveloper  5 ปีที่แล้ว +5

    Прошу прощения случилась накладка. Промокод дает 20% скидку, но я считаю, что это тоже очень много :)

  • @AlexeyKravtsovHere
    @AlexeyKravtsovHere 5 ปีที่แล้ว +10

    Хорошие канал и обзоры! Но, на мой взгляд, есть некоторые нюансы
    11:22 для чего оборачивать Defered в suspend функцию, когда можно ограничиться либо одним либо другим?
    15:30 launch внутри async создает новую вложенную корутину, оптимальнее использовать withContext для переключения между dispatcher
    46:45 вызывать #setValue из вью модели не очень хорошая практика, так как выполняться это обязательно должно на main thread. Лучше использовать #postValue

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +3

      Да это все учел в будущих своих проектах ) спасибо за ваш комментарий

  • @kimdoc6351
    @kimdoc6351 4 ปีที่แล้ว +6

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

  • @user-xl2tf4gq1g
    @user-xl2tf4gq1g 5 ปีที่แล้ว +6

    спасибо, видео как всегда на высоте!
    ИМХО, с MVP получается очень-очень много файлов, приходится всегда выделять интерфейсы, соответственно, много времени уходит на все это.
    с MVVM все проще, есть VM, который меняет стейты, и View просто подписывается на нужные значения

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +2

      Ну как говорится на вкус и цвет ) на мой взгляд MVVM не так структурирован как MVP

    • @RamazanAbdulaev
      @RamazanAbdulaev 4 ปีที่แล้ว

      Там где много recyclerview mvvm по-моему не очень, много лишних подписок

    • @pavlosoia
      @pavlosoia 4 ปีที่แล้ว

      с mvvm проблематично разобраться когда садишься за чужой проект и пытаешься вникнуть со всеми подписками. Особенно если их много на экране. С mvp открыл интерфейс и всё становится понятно (если наименования методов нормальные)

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      О да )) MVVM очень запутанная штука

    • @sphinx489
      @sphinx489 4 ปีที่แล้ว

      ​@@MobileDeveloper Почему вы не рекомендуете MVVM.
      Google Android рекомендует MVVM

  • @ymomoto43
    @ymomoto43 4 ปีที่แล้ว +7

    35:50 - MVVM

  • @samserious6466
    @samserious6466 3 ปีที่แล้ว +2

    Класс, видео топчик!! Очень помогло разобраться в чем разница этих архитектур, да еще и с примером в коде, да еще и в одном видео... да еще и на одном и том же проекте. Не знаю, можно ли это объяснить еще лучше, чем автор

  • @kirillisovich6265
    @kirillisovich6265 2 ปีที่แล้ว +2

    Теперь могу говорить, что делал не говнокод, а по архитектуре MVC😂. А вообще спасибо за урок, столько нового и полезного открыли для меня, раньше не понимал смысл MVP и MVVM, а теперь наконец-то дошло.

    • @MobileDeveloper
      @MobileDeveloper  2 ปีที่แล้ว

      Пожалуйста :)

    • @tyt66612
      @tyt66612 2 ปีที่แล้ว

      тоже себя поймал на этой мысле с первым приложением в маркете))

  • @namesecondname7863
    @namesecondname7863 5 ปีที่แล้ว +5

    Спасибо за видео!) Было бы интересно увидеть от Вас видео о связке паттернов со всевозможными Сервисами\Службами в Android (Jobintent\Intent тд)

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +2

      Оооо ) спасибо за вопрос это интересная тема. Как-нибудь сниму

    • @wtf_nick
      @wtf_nick 5 ปีที่แล้ว

      @@MobileDeveloper надеюсь, не затерялась тема среди других возможных, очень интересно было бы увидеть ваше видео на эту тему

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

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

  • @viesem
    @viesem 5 ปีที่แล้ว +21

    M(VC, VP, VVM) - так-то V тоже можно за скобки вынести))

    • @alexandernifanin7366
      @alexandernifanin7366 5 ปีที่แล้ว

      Роль V в MVC чутка отличается от других, но я вообще считаю MVP частным случаем MVC, так что в MVC можно сделать и не хуже.

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Ну вообще да )) Ну да ладно )

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      Нет это не частный случай - там разные связи между сущностями

    • @alexandernifanin7366
      @alexandernifanin7366 5 ปีที่แล้ว

      По идее, да, но если убрать часть связей, получится MVP, могу ошибаться.

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +3

      Как говорит мой папа если бы у бабушки был первичный половой орган мужчины мы бы звали ее по другому )))

  • @alexandernifanin7366
    @alexandernifanin7366 5 ปีที่แล้ว +2

    Алексей, спасибо за долгожданное видео. Как я понял, не для новичков, а для тех, кто уже поплавал немного. Рассмотрены некоторые проблемы MVP, это радует. Я, наоборот, ушёл от MVP к MVC, потому что в MVP слишком много кода (больше, чем в MVC). На мой взгляд, если грамотно перенести из View методы в другие классы, объём кода во View тоже уменьшится (будет чем-то похоже на MVP). Главным преимуществом MVP, MVVM я бы назвал работу с жизненным циклом Андроида, это нелегко грамотно сделать в MVC. Часто мне рассказывают про тестируемость кода, разделение на слои, изолированность, но я не считаю это чем-то приоритетным, а вот проблема ЖЦ при легковесном вью решается куда проще.
    В MVP есть ещё одна странность: презентер и вью непрерывно взаимодействуют и вызывают друг друга чаще, чем это делается в MVC. Т.е. надо отобразить список - обращаемся к презентеру, он обращается обратно к вью (покажи прогресс, покажи заглушку, покажи список, скрой прогресс). В MVC это решается в одно действие.

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +4

      Как я и говорил в видео, основная проблема MVC в том, что его обычно неправильно готовят )) работа с жизненным циклом имхо хорошо сделана только в MVVM да и то потому что Гугл постарался ) ну и Мокси ) а так - все одинаково мучаются. Насчёт тестируемости, разделения на слои и так далее. Это же по сути не имеет отношения конкретно к этим патиернам. Ну то есть в моих проекта MVP (теперь уже MVVM) используется для UI слоя ну или для презентейшн слоя. Это не мешает остальному коду то есть модели быть поделённым на слои и тестируемых. Тоже самое в подходе делегатов со списками ) так что принципы солид и так далее это в целом про разработку а не только про эти паттерны. Ну эт мое имхо )

    • @alexandernifanin7366
      @alexandernifanin7366 5 ปีที่แล้ว

      @@MobileDeveloper Спасибо, рад услышать такой взвешенный ответ. Далеко не все "архитекторы" это понимают и постоянно рассказывают про разделение на слои. Согласен, что MVC, MVP, MVVM - это работа со слоем презентейшен (UI), собственно, в Андроиде это одна из самых больших сложностей, т.к. отделить модель от представления гораздо проще и там почти нет разночтений (достаточно использовать Clean Architecture). Разделение на слои и тестирование более актуально для бека, вот там про архитектуру думают постоянно.

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +2

      Как говорит моя мама - заставь дурака богу молиться он лоб расшибет )) у некоторых архитекторов есть нечто похожее

    • @alexandernifanin7366
      @alexandernifanin7366 4 ปีที่แล้ว

      @@MobileDeveloper Извините за рекламу, увидел неплохое видео для новичков по MVVM: th-cam.com/video/QtXddCAAZ8k/w-d-xo.html. Понравилось, что автор рассказывает о плюсах и минусах не как многие: больше про ЖЦ и меньше про тестирование.

  • @sportfun9713
    @sportfun9713 2 ปีที่แล้ว +1

    Отличное видео от понимающего человека :)

  • @Andrey-pu1lv
    @Andrey-pu1lv 5 ปีที่แล้ว +7

    как всегда все круто! А есть ли какие-нибудь критерии при выборе архитектуры между MVP и MVVM? Каким вы пользуетесь и какой посоветуете лучше использовать?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +7

      Мне лично больше нравится MVP (потому что на мой взгляд он более четко структурирован). Но походу придётся переходить к MVVM, потому что разработчики обеих платформ склоняют к этому.

  • @dmitriyobidin6049
    @dmitriyobidin6049 4 ปีที่แล้ว

    Ради интереса вопрос, не особо знаком с Android и корутинами, на 14:37 - не будет ли риска утечек памяти в случае, если наш запрос зависнет где-нибудь? Пользователь, например, уже давно закроет эту активити, а в корутине у нас будет висеть жесткая ссылка на textview? Или тут нет такой проблемы?
    Касательно же MVC - вот все везде повторяют про этот цикл(5:35), про то что model обновляет данные во view... Картинки даже в интернете есть. Но как доходит до реализации - нигде не видел, чтобы люди из модели сразу апдейтили view, всё сводится к тому, что модель возвращает данные в контроллер, а уже он обновляет View. В вашем варианте, в принципе, это тоже так. Так зачем повторять эту мантру про "цикл" и про связь модели с view?

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Сейчас используется viewModelScope почти везде (ну где есть вью модель разумеется) либо иной скоуп привязанный к жизни view, тогда никаких утечек не будет. В случае же GlobalScope да, такое возможно + еще есть момент, что если допустим зафейлится одна корутина, то умрут все, потому что они живут в одном скоупе. Ну опять же развитие мое происходит параллельно с выпуском видео, поэтому такое бывает. В случае с тем, что в видео таких рисков не должно быть.
      Насчет MVC. С MVC забавная штука в том, что как-то так получилось что за View считается Fragment/Activity, а не View (xml) и поэтому такая путаница и все работает неправильно. Вроде бы я про это говорил.

    • @dmitriyobidin6049
      @dmitriyobidin6049 4 ปีที่แล้ว

      ​@@MobileDeveloper Я не говорил конкретно про реализации в андроид, я про сам подход. В определении из "интернетов" везде говорится про то что модель связаны с вью и вы тоже про это говорите, но в вашем же примере этого нет. Да и почти никогда не видел такой реализации, ибо это глупо. Я просто уже кучу времени пытаюсь найти четкое и точное определение разницы между MVC и MVP, но не могу... Настолько все по разному их трактуют, что истинно верных MVC и MVP, получается, не существует. Каждый крутит их как он понимает, но при этом, про них очень любят задавать вопросы на собеседованиях...

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Отчасти да, но про модель (а именно то, что под ней некоторые понимают и как это связанно с вью) попробуйте найти в видео про MVI. По моему я там про это говорил

  • @yaroslavishchuk
    @yaroslavishchuk 5 ปีที่แล้ว

    О видос на вечер. Благодарствую

  • @annaumova
    @annaumova 5 ปีที่แล้ว +5

    Можно ли сделать видео по разбору MVI (Model-View-Intent)? Он сейчас становится популярным

  • @tyt66612
    @tyt66612 2 ปีที่แล้ว

    Алексей, а разве вью(активти), которую мы атачим в презентере, имеющая слабую ссылку не удалится при вызове сборщика мусора, до изменения конфигурации?

  • @user-not_defined
    @user-not_defined 3 ปีที่แล้ว

    классный канал в целом да и много плюшек узнал, подходов

  • @pavlosoia
    @pavlosoia 4 ปีที่แล้ว

    уже второе приложение пишем с MVVM и стейтами. С одной стороны всё неплохо. Но вот всё же тянет назад на MVP+Moxy. Как по мне там код в итоге читабельнее. А это тоже очень важно. А за видео спасибо, ничего нового для себя не открыл, жаль не было такого несколько лет назад, когда я и сам пытался разобраться с этими паттернами.

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว +1

      Да, как говорят дорога ложка к обеду. Ну все равно рад, что понравилось

  • @iurchenko
    @iurchenko 2 ปีที่แล้ว +3

    Хотите узнать что-то о паттернах - найдите другое видео. Сэкономите час жизни

  • @timyp64
    @timyp64 5 ปีที่แล้ว +1

    А про AAC будет?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Про что?)

    • @timyp64
      @timyp64 5 ปีที่แล้ว

      @@MobileDeveloper android architecture components. Или уже было?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      TiMYP64 нет ещё не было ) но будет обязательно

  • @mikhailshirokov8464
    @mikhailshirokov8464 11 หลายเดือนก่อน

    Интересное видео, спасибо

  • @kolega463
    @kolega463 3 ปีที่แล้ว

    А как поведет себя код, если я успею два раза нажать кнопку LOGIN? Кнопка будет еще не заблокирована и пойдет второй запрос?

  • @vitalyzolkin5046
    @vitalyzolkin5046 4 ปีที่แล้ว

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

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Тоже верно ) спасибо! Век живи, век учись как говорится

  • @РусланСамарбаев
    @РусланСамарбаев 5 ปีที่แล้ว +2

    То есть MVC в android при разработке фактически не используется?

  • @MrSerozka
    @MrSerozka 5 ปีที่แล้ว

    У вас в плейлисте Архитектура второе видео с другого канала (про евровидение). Как это? Что это?)

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Это случайно ))) один блоггер из Томска ))

  • @karengozeyan2065
    @karengozeyan2065 5 ปีที่แล้ว +3

    Давай видео про model view intent

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      Не знаю есть ли смысл про это отдельно снимать ) mvi не очень большое распространение имеет )

  • @Egor_Sigolaev
    @Egor_Sigolaev 4 ปีที่แล้ว

    Добрый день! А что за классы sealed? И почему не создать простой Enum? Просто с джавы перешел на котлету, не слышал про них:)

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Sealed class это возможность четко ограничить число наследников класса ) что позволяет с ними работать как в enum

    • @Egor_Sigolaev
      @Egor_Sigolaev 4 ปีที่แล้ว

      @@MobileDeveloper Спасибо.

    • @pavlosoia
      @pavlosoia 4 ปีที่แล้ว

      ну и с sealed классами в when не надо использовать else

    • @Egor_Sigolaev
      @Egor_Sigolaev 4 ปีที่แล้ว +2

      @@pavlosoia Прошло 6 месяцев, без силдов жить не могу )

  • @vito3315
    @vito3315 3 ปีที่แล้ว

    Спасибо за видео, а можно название фонового трека узнать?)

    • @paulk3222
      @paulk3222 3 ปีที่แล้ว

      Название не скажу, но вот сам трек. Взято из музыкального банка TH-cam.
      hdd.tomsk.ru/desk/unxlonmc#

  • @мувквкмвап
    @мувквкмвап 5 ปีที่แล้ว +3

    А как же MVI?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +2

      Сделал даже опрос ) ну видимо сделаю отдельное видео ) хотя mvi это не самостоятельный паттерн и я это покажу в видео )

  • @Egor_Sigolaev
    @Egor_Sigolaev 4 ปีที่แล้ว +1

    Еще я видел, что во многих видео вью моделе передают контекс, т.к. все равно вью модель создается через провайдер с передачей контекста (хотя сейчас я говорю об андроид вью модели). Но видео топ!

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว +1

      Спасибо )) я все таки сторонник подхода что контекст должен быть только у контекстозависимых вещей )

  • @мувквкмвап
    @мувквкмвап 5 ปีที่แล้ว +1

    Такой вот вопрос у меня - Что лучше использовать?
    1 - findViewById
    2 - synthetic
    3 - dataBinding ?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +5

      Мне больше всего нравится второй вариант )

    • @vitaliy2020
      @vitaliy2020 3 ปีที่แล้ว

      @@MobileDeveloper synthetic больше не поддерживается, получается ты вынужден использовать dataBinding в проектах где много визуальных элементов?

    • @MobileDeveloper
      @MobileDeveloper  3 ปีที่แล้ว +1

      Я использую findViewById

  • @ruslansokolov7443
    @ruslansokolov7443 5 ปีที่แล้ว

    Небольшой вопрос по клину: Правильно ли делать чтобы репозитории возвращали Observable или Deffered, не должен ли этим заниматься интерактор или презентер?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      А что будет возвращать репозиторий тогда?)

    • @ruslansokolov7443
      @ruslansokolov7443 5 ปีที่แล้ว

      @@MobileDeveloper Готовые объекты, тогда сам репозиторий не будет завязан ни на rx, ни на корутины, а интерактор уже будет оборачивать все это в потоки) Интересно ваше мнение по поводу такого подхода

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Я бы посмотрел как вы вытащите готовые объекты из room или retrofit без колбэков rx или корутин))

    • @ruslansokolov7443
      @ruslansokolov7443 5 ปีที่แล้ว +1

      @@MobileDeveloper Ну room например может возвращать один объект или список, а в retrofit через call.execute(). Можно ещё обернуть ответ в какой-то RepositoryResponse, где будут либо данные, либо ошибка. А потом интерактор все это вызывает в io потоке. Мне просто понравился такой подход из-за того, что сложную логику данных в репозитории можно писать в функциональном стиле и нет привязки к rx и корутинам)

  • @maxim.hnatiuk
    @maxim.hnatiuk 5 ปีที่แล้ว

    Как поступить, если в MVP нужно получить например данные из базы, а там нужно в параметры context передать

    • @podo_x2
      @podo_x2 5 ปีที่แล้ว +1

      использовать даггер

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Сам по себе даггер тоже мало что решит, разве что вы неявно протянете контекст в презентер. Нужно передавать в презентер сконфигурированный класс для работы с бд.
      Сделать это более изящно можно через даггер. Но в целом обычно RoomAppDataSource доступен из application. Обратите внимание на то что ваш слой работы с бд должен быть независим от реализации конкретной бд а логика касающаяся работы рум должна быть вынесена отдельно

  • @РусланСамарбаев
    @РусланСамарбаев 5 ปีที่แล้ว

    Не совсем понял. Если у нас есть такая хорошая библиотека moxy под MVP, то почему бы не применять ее всегда ?

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      Есть масса причин не использовать сторонние библиотеки - от безопасности до подхода

  • @АндрейРедников-з8й
    @АндрейРедников-з8й 5 ปีที่แล้ว

    А разве это правильно использовать в mvvm фиксированный состояния ? Просто к тому что допустим у меня есть множество observable объектов исходя из которых я и меняю view и рассчитывать для всего этого состояния тоже занимает множество времени

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      Да я там немножко от MVI взял, в целом, в каноничном MVVM правильнее на каждую вью иметь свои observable

  • @nobytrix
    @nobytrix 5 ปีที่แล้ว

    О и давно у тебя звуковой пульт ?)

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Нет ) это первое видео ))

  • @Mr1nkoGnit0
    @Mr1nkoGnit0 4 ปีที่แล้ว

    Лучшее ru объяснение в интернете, так держать!

  • @РобертБ-ъ9т
    @РобертБ-ъ9т 4 ปีที่แล้ว

    а есть тоже самое на java? (

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Нет, но не думаю, что это сложно на java переложить все.

    • @РобертБ-ъ9т
      @РобертБ-ъ9т 4 ปีที่แล้ว

      @@MobileDeveloper когда не знаешь Kotlin - сложновато для понимания. Вроде бы понимаешь о чем речь, но при этом и знания java не такие хорошие, чтобы взять и переложить на нее) уровень - подготовка на junior android :)

    • @РобертБ-ъ9т
      @РобертБ-ъ9т 4 ปีที่แล้ว

      @@MobileDeveloper в любом случае, спасибо за контент! Объясняешь очень хорошо и наконец-то я хоть где-то у кого-то увидел структуру папок реального нормального проекта!) За это отдельное спасибо!!

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Пожалуйста :)

  • @shibabasensei6219
    @shibabasensei6219 4 ปีที่แล้ว

    люблю твои видео

  • @СергейПанов-з3ц
    @СергейПанов-з3ц 5 ปีที่แล้ว +2

    Видео хорошее, лайк поставил, но делиться им в соц сетях я конечно же не буду.

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +2

      Это типа шутка такая?)

  • @aleksandrzurnachyan6013
    @aleksandrzurnachyan6013 4 ปีที่แล้ว

    in mvvm viewmodel must extends ViewModel Class or AndroidViewModel,,,in AndroidViewModel we have a context

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว

      Все равно это плохой паттерн) никто меня в этом не переубедит )

  • @funrider5414
    @funrider5414 10 หลายเดือนก่อน

    Очень жаль, что во многих видео идёт отсылка на другие. С одной стороны понятно, что не хочется рассказывать одно и то же, с другой - проваливаешься в то видео, а там опять отсылка. Все видео посмотреть нет абсолютно никакой возможности, потому что хронометраж уже снят огромный

  • @vadimosovsky
    @vadimosovsky 5 ปีที่แล้ว +1

    Павел Качан, а кто неудачные дубли будет вырезать?)) Ждём видос про Флаттер

    • @paulk3222
      @paulk3222 5 ปีที่แล้ว

      Можно таймкод неудачного дубля попросить вас скинуть?

    • @vadimosovsky
      @vadimosovsky 5 ปีที่แล้ว

      @@paulk3222 37:08, 57:50 , ещё вроде где-то было, уже не помню

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Вроде там ничего такого нет )

  • @olegsh91
    @olegsh91 5 ปีที่แล้ว

    Лайк не глядя!

  • @wtf_nick
    @wtf_nick 5 ปีที่แล้ว

    )

  • @timyp64
    @timyp64 5 ปีที่แล้ว +7

    Музыка на фоне.... такая мрачная...

    • @user-xl2tf4gq1g
      @user-xl2tf4gq1g 5 ปีที่แล้ว

      в уроке по dagger музыка была бомбовой

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      Надо будет найти ее )) вообще музыку стараюсь разную делать ) и чтобы не мешала )

    • @vitalyparhomenko7817
      @vitalyparhomenko7817 5 ปีที่แล้ว +1

      А кстати как называется? Очень зашла!

    • @vitalyparhomenko7817
      @vitalyparhomenko7817 5 ปีที่แล้ว

      Не смог зашазамить, риквестую трек

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      Его нет нигде кроме этих видео ) но я попрошу выложить где нибудь )

  • @ЯрославДроздов-с5ч
    @ЯрославДроздов-с5ч 3 ปีที่แล้ว

    Тема mvc раскрыта не полностью. Существует ещё как минимум две реализации этой архитектуры. Достаточно заглянуть в вики

    • @MobileDeveloper
      @MobileDeveloper  3 ปีที่แล้ว

      Вот кому интересно, тот и заглянет. MVC практически не встретишь в андроиде, поэтому на нем не акцентировал внимание

  • @АндрійКісик-й9в
    @АндрійКісик-й9в 4 ปีที่แล้ว +1

    Самый простой способ решить проблему переворота экрана:
    android:screenOrientation="portrait"

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว +2

      Окей эту проблему решили ) а что насчёт других ситуаций когда Активити умирает? Или когда нужно переворачивать экран?)

    • @pavlosoia
      @pavlosoia 4 ปีที่แล้ว +1

      а что тогда делать если в приложении надо открыть камеру и повернуть экран?

  • @fantomasray
    @fantomasray 2 ปีที่แล้ว

    Тема важная и не простая. Как новичок, из видео нихрена не понял во всей этой каше. Куча открытых файлов, что-то куда-то копируется, миллион правок и дописываний. В общем понял только теорию в переложении на магазин, а как реализовать на практике так и не смог понять.

  • @nostereal
    @nostereal 5 ปีที่แล้ว +1

    Если что, винду можно активировать при помощи проги "KMSAuto"

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว +1

      Это не мой компьютер ) дома я лицензионную винду юзать

  • @nersomy
    @nersomy วันที่ผ่านมา

    Научи клавиатурой шелестеть 😀

    • @MobileDeveloper
      @MobileDeveloper  วันที่ผ่านมา

      @@nersomy в смысле? 😂

    • @nersomy
      @nersomy วันที่ผ่านมา

      @@MobileDeveloper Та такой шелист в видео слышно немного утомляет ну это я наверно нервный )))

  • @svetatam
    @svetatam 2 ปีที่แล้ว

    Какой мерзкий звук у клавиатуры :)

    • @MobileDeveloper
      @MobileDeveloper  2 ปีที่แล้ว +1

      Ну что вы хотите этому видео уже несколько лет) у меня не сразу появился хороший микрофон и камера)

  • @antonalyabyev5207
    @antonalyabyev5207 5 ปีที่แล้ว +1

    Когда ты говоришь "это значит вы на канале
    Mobile Developer ", нарушается архитектура SOLID.

    • @MobileDeveloper
      @MobileDeveloper  5 ปีที่แล้ว

      😂 долго думал, но так и не понял где именно )

    • @antonalyabyev5207
      @antonalyabyev5207 5 ปีที่แล้ว

      @@MobileDeveloper если разместить это видео в другом источнике, например в группе вконтакте то это уже будет не канал. Нарушается принцип единой ответственности.

    • @ВалерийМиннулин
      @ВалерийМиннулин 5 ปีที่แล้ว

      @@antonalyabyev5207 может принцип замены Барбары Лисков?

    • @user-xl2tf4gq1g
      @user-xl2tf4gq1g 5 ปีที่แล้ว

      @@antonalyabyev5207 ничего не нарушается, неудачный пример

  • @mrrobot8923
    @mrrobot8923 4 ปีที่แล้ว

    Неплохо, но это не для начинающих

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว +1

      Там нигде обратного не сказано ))

  • @gen7891
    @gen7891 3 ปีที่แล้ว +2

    Зачем для объяснения кодить, 50 минут смотреть кажется напряжно, для объяснения архитектур 30 лет назад придумали uml. Кажется тут диаграммой взаимодействия можно обойтись и тогда видео будет 5 минут и будет все понятно.

    • @MobileDeveloper
      @MobileDeveloper  3 ปีที่แล้ว +2

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

    • @gen7891
      @gen7891 3 ปีที่แล้ว

      @@MobileDeveloper ну я пришел например не с мира мобильной разработки, зачем мне вникать в особенности мобильной среды, когда видео про архитектуру. Я поэтому видео не досмотрел ваше, но ценю ваш труд. Наверно для мобильщиков это будет норм. С другой стороны вот видео индуское th-cam.com/video/izZ858Gbwh0/w-d-xo.html тут далеко не uml, да и инглишь ломанный, но по диаграммам понятно что разница во взаимодействии объектов. Видео короткое, есть визуализация. Многие просто не умеют готовить uml диаграммы, поэтому их и не понимают. Но если я не умею их рисовать это не значит что они плохие. Если они нормально нарисованы, то они дают хорошую визуализацию и мозг легче воспринимает это все. То есть я бы показал в общем сначала концепцию, а потом в коде как у меня это реализовано. В любом случае вы молодцы, удачи.

    • @MobileDeveloper
      @MobileDeveloper  3 ปีที่แล้ว +2

      Да, нет я умею пользоваться диаграммами. Просто канал посвящен именно мобильной разработке, поэтому я показываю код для людей из мобильной разработки) Плюс архитектура MVP и MVC имеет некоторую специфику для мобильной разработки именно ) Спасибо! )

  • @telephon3208
    @telephon3208 2 ปีที่แล้ว

    странные звуки (музыка?) на фоне. мешает смотреть

  • @arstandzholdoshev2942
    @arstandzholdoshev2942 4 ปีที่แล้ว

    прошу прощения(не баньте меня) но когда я искал инфу про MVC то там говорилось что вьюха общается с моделью через контролер но никак ни напрямую 5:36 , оговорились или я не праильно понял?

    • @MobileDeveloper
      @MobileDeveloper  4 ปีที่แล้ว +1

      А почему я должен вас банить?)) Все правильно view общается через controller, но конкретно в мобилке с этим случилась путаница, так как непонятно, что считать за view в андроиде? Xml? Activity? Проблема вышла в том, что за вью стали считать xml, а так как контроллер вынужден общаться и с моделью и с xml и есть еще разные операции там жизненного цикла, то активити раздувалась до огромных размеров