Тёмный

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

Mobile Developer
Подписаться 50 тыс.
Просмотров 34 тыс.
50% 1

Всем привет. Сегодня мы поговорим с вами об MVC, MVP, MVVM поймем в чем разница и определимся с тем какой подход нужен именно вам!
Ставь лайк и расскажи друзьям, чтобы они тоже узнали об архитектуре :)
Мобильный разработчик в других соц. сетях
=======================
Вконтакте - mdeveloper
Instagram - / nplau
=======================
Курс на жаркий осенний интенсив
digitaloctober.com/events/int...
Промокод: MobileDeveloper
Наши друзья и информационные партнеры:
t.me/androidev - Телеграмм канал, посвященный разработке для Андроид!
loftblog - Блок о разработке приложений и не только
Стать Патроном канала и получить доступ к уникальному материалу
/ mobiledeveloper
Поддержать канал рублем:
PayPal - alexgladkov@icloud.com
Mastercard - 5536 9137 9985 0652
Ставь лайк, подписывайся и пиши, чтобы ты хотел увидеть в следующих видео.

Опубликовано:

 

13 сен 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 155   
@MobileDeveloper
@MobileDeveloper 4 года назад
Прошу прощения случилась накладка. Промокод дает 20% скидку, но я считаю, что это тоже очень много :)
@kimdoc6351
@kimdoc6351 3 года назад
Это очень круто, то что ты делаешь , а главное бесплатно, то бишь для начинающего не всегда есть возможность использовать платное обучение.
@MobileDeveloper
@MobileDeveloper 3 года назад
Спасибо :)
@sportfun9713
@sportfun9713 Год назад
Отличное видео от понимающего человека :)
@samserious6466
@samserious6466 3 года назад
Класс, видео топчик!! Очень помогло разобраться в чем разница этих архитектур, да еще и с примером в коде, да еще и в одном видео... да еще и на одном и том же проекте. Не знаю, можно ли это объяснить еще лучше, чем автор
@MobileDeveloper
@MobileDeveloper 3 года назад
Спасибо!
@AlexeyKravtsovHere
@AlexeyKravtsovHere 4 года назад
Хорошие канал и обзоры! Но, на мой взгляд, есть некоторые нюансы 11:22 для чего оборачивать Defered в suspend функцию, когда можно ограничиться либо одним либо другим? 15:30 launch внутри async создает новую вложенную корутину, оптимальнее использовать withContext для переключения между dispatcher 46:45 вызывать #setValue из вью модели не очень хорошая практика, так как выполняться это обязательно должно на main thread. Лучше использовать #postValue
@MobileDeveloper
@MobileDeveloper 4 года назад
Да это все учел в будущих своих проектах ) спасибо за ваш комментарий
@namesecondname7863
@namesecondname7863 4 года назад
Спасибо за видео!) Было бы интересно увидеть от Вас видео о связке паттернов со всевозможными Сервисами\Службами в Android (Jobintent\Intent тд)
@MobileDeveloper
@MobileDeveloper 4 года назад
Оооо ) спасибо за вопрос это интересная тема. Как-нибудь сниму
@wtf_nick
@wtf_nick 4 года назад
@@MobileDeveloper надеюсь, не затерялась тема среди других возможных, очень интересно было бы увидеть ваше видео на эту тему
@MobileDeveloper
@MobileDeveloper 4 года назад
Не затерялась, но тем много. Пока я сам решаю какие видео снимать, но вы можете влиять на темы выпусков за небольшой донат
@yaroslavishchuk
@yaroslavishchuk 4 года назад
О видос на вечер. Благодарствую
@MobileDeveloper
@MobileDeveloper 4 года назад
Спасибо!
@user-xl2tf4gq1g
@user-xl2tf4gq1g 4 года назад
спасибо, видео как всегда на высоте! ИМХО, с MVP получается очень-очень много файлов, приходится всегда выделять интерфейсы, соответственно, много времени уходит на все это. с MVVM все проще, есть VM, который меняет стейты, и View просто подписывается на нужные значения
@MobileDeveloper
@MobileDeveloper 4 года назад
Ну как говорится на вкус и цвет ) на мой взгляд MVVM не так структурирован как MVP
@RamazanAbdulaev
@RamazanAbdulaev 3 года назад
Там где много recyclerview mvvm по-моему не очень, много лишних подписок
@paulsoja2732
@paulsoja2732 3 года назад
с mvvm проблематично разобраться когда садишься за чужой проект и пытаешься вникнуть со всеми подписками. Особенно если их много на экране. С mvp открыл интерфейс и всё становится понятно (если наименования методов нормальные)
@MobileDeveloper
@MobileDeveloper 3 года назад
О да )) MVVM очень запутанная штука
@sphinx489
@sphinx489 3 года назад
​@@MobileDeveloper Почему вы не рекомендуете MVVM. Google Android рекомендует MVVM
@alexandernifanin7366
@alexandernifanin7366 4 года назад
Алексей, спасибо за долгожданное видео. Как я понял, не для новичков, а для тех, кто уже поплавал немного. Рассмотрены некоторые проблемы MVP, это радует. Я, наоборот, ушёл от MVP к MVC, потому что в MVP слишком много кода (больше, чем в MVC). На мой взгляд, если грамотно перенести из View методы в другие классы, объём кода во View тоже уменьшится (будет чем-то похоже на MVP). Главным преимуществом MVP, MVVM я бы назвал работу с жизненным циклом Андроида, это нелегко грамотно сделать в MVC. Часто мне рассказывают про тестируемость кода, разделение на слои, изолированность, но я не считаю это чем-то приоритетным, а вот проблема ЖЦ при легковесном вью решается куда проще. В MVP есть ещё одна странность: презентер и вью непрерывно взаимодействуют и вызывают друг друга чаще, чем это делается в MVC. Т.е. надо отобразить список - обращаемся к презентеру, он обращается обратно к вью (покажи прогресс, покажи заглушку, покажи список, скрой прогресс). В MVC это решается в одно действие.
@MobileDeveloper
@MobileDeveloper 4 года назад
Как я и говорил в видео, основная проблема MVC в том, что его обычно неправильно готовят )) работа с жизненным циклом имхо хорошо сделана только в MVVM да и то потому что Гугл постарался ) ну и Мокси ) а так - все одинаково мучаются. Насчёт тестируемости, разделения на слои и так далее. Это же по сути не имеет отношения конкретно к этим патиернам. Ну то есть в моих проекта MVP (теперь уже MVVM) используется для UI слоя ну или для презентейшн слоя. Это не мешает остальному коду то есть модели быть поделённым на слои и тестируемых. Тоже самое в подходе делегатов со списками ) так что принципы солид и так далее это в целом про разработку а не только про эти паттерны. Ну эт мое имхо )
@alexandernifanin7366
@alexandernifanin7366 4 года назад
@@MobileDeveloper Спасибо, рад услышать такой взвешенный ответ. Далеко не все "архитекторы" это понимают и постоянно рассказывают про разделение на слои. Согласен, что MVC, MVP, MVVM - это работа со слоем презентейшен (UI), собственно, в Андроиде это одна из самых больших сложностей, т.к. отделить модель от представления гораздо проще и там почти нет разночтений (достаточно использовать Clean Architecture). Разделение на слои и тестирование более актуально для бека, вот там про архитектуру думают постоянно.
@MobileDeveloper
@MobileDeveloper 4 года назад
Как говорит моя мама - заставь дурака богу молиться он лоб расшибет )) у некоторых архитекторов есть нечто похожее
@alexandernifanin7366
@alexandernifanin7366 4 года назад
@@MobileDeveloper Извините за рекламу, увидел неплохое видео для новичков по MVVM: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-QtXddCAAZ8k.html. Понравилось, что автор рассказывает о плюсах и минусах не как многие: больше про ЖЦ и меньше про тестирование.
@Andrey-pu1lv
@Andrey-pu1lv 4 года назад
как всегда все круто! А есть ли какие-нибудь критерии при выборе архитектуры между MVP и MVVM? Каким вы пользуетесь и какой посоветуете лучше использовать?
@MobileDeveloper
@MobileDeveloper 4 года назад
Мне лично больше нравится MVP (потому что на мой взгляд он более четко структурирован). Но походу придётся переходить к MVVM, потому что разработчики обеих платформ склоняют к этому.
@kirillisovich6265
@kirillisovich6265 Год назад
Теперь могу говорить, что делал не говнокод, а по архитектуре MVC😂. А вообще спасибо за урок, столько нового и полезного открыли для меня, раньше не понимал смысл MVP и MVVM, а теперь наконец-то дошло.
@MobileDeveloper
@MobileDeveloper Год назад
Пожалуйста :)
@tyt66612
@tyt66612 Год назад
тоже себя поймал на этой мысле с первым приложением в маркете))
@olegsh91
@olegsh91 4 года назад
Лайк не глядя!
@MobileDeveloper
@MobileDeveloper 4 года назад
Спасибо!
@vitalyzolkin5046
@vitalyzolkin5046 4 года назад
Классный обзор, хотел добавить по поводу экстеншенов. Если у вас они используют параметризованные типы, то можно делать эти экстеншены linline, будет лучше производительность приложения.
@MobileDeveloper
@MobileDeveloper 4 года назад
Тоже верно ) спасибо! Век живи, век учись как говорится
@viesem
@viesem 4 года назад
M(VC, VP, VVM) - так-то V тоже можно за скобки вынести))
@alexandernifanin7366
@alexandernifanin7366 4 года назад
Роль V в MVC чутка отличается от других, но я вообще считаю MVP частным случаем MVC, так что в MVC можно сделать и не хуже.
@MobileDeveloper
@MobileDeveloper 4 года назад
Ну вообще да )) Ну да ладно )
@MobileDeveloper
@MobileDeveloper 4 года назад
Нет это не частный случай - там разные связи между сущностями
@alexandernifanin7366
@alexandernifanin7366 4 года назад
По идее, да, но если убрать часть связей, получится MVP, могу ошибаться.
@MobileDeveloper
@MobileDeveloper 4 года назад
Как говорит мой папа если бы у бабушки был первичный половой орган мужчины мы бы звали ее по другому )))
@mikhailshirokov8464
@mikhailshirokov8464 4 месяца назад
Интересное видео, спасибо
@paulsoja2732
@paulsoja2732 3 года назад
уже второе приложение пишем с MVVM и стейтами. С одной стороны всё неплохо. Но вот всё же тянет назад на MVP+Moxy. Как по мне там код в итоге читабельнее. А это тоже очень важно. А за видео спасибо, ничего нового для себя не открыл, жаль не было такого несколько лет назад, когда я и сам пытался разобраться с этими паттернами.
@MobileDeveloper
@MobileDeveloper 3 года назад
Да, как говорят дорога ложка к обеду. Ну все равно рад, что понравилось
@user-not_defined
@user-not_defined 2 года назад
классный канал в целом да и много плюшек узнал, подходов
@MobileDeveloper
@MobileDeveloper 2 года назад
Спасибо )
@tyt66612
@tyt66612 Год назад
Алексей, а разве вью(активти), которую мы атачим в презентере, имеющая слабую ссылку не удалится при вызове сборщика мусора, до изменения конфигурации?
@shibabasensei6219
@shibabasensei6219 3 года назад
люблю твои видео
@MobileDeveloper
@MobileDeveloper 3 года назад
Спасибо )
@ymomoto43
@ymomoto43 3 года назад
35:50 - MVVM
@iurchenko
@iurchenko 2 года назад
Хотите узнать что-то о паттернах - найдите другое видео. Сэкономите час жизни
@Mr1nkoGnit0
@Mr1nkoGnit0 3 года назад
Лучшее ru объяснение в интернете, так держать!
@MobileDeveloper
@MobileDeveloper 3 года назад
Спасибо! ))
@Egor_Sigolaev
@Egor_Sigolaev 4 года назад
Еще я видел, что во многих видео вью моделе передают контекс, т.к. все равно вью модель создается через провайдер с передачей контекста (хотя сейчас я говорю об андроид вью модели). Но видео топ!
@MobileDeveloper
@MobileDeveloper 4 года назад
Спасибо )) я все таки сторонник подхода что контекст должен быть только у контекстозависимых вещей )
@annaumova
@annaumova 4 года назад
Можно ли сделать видео по разбору MVI (Model-View-Intent)? Он сейчас становится популярным
@MobileDeveloper
@MobileDeveloper 4 года назад
Да сделаю )
@kolega463
@kolega463 2 года назад
А как поведет себя код, если я успею два раза нажать кнопку LOGIN? Кнопка будет еще не заблокирована и пойдет второй запрос?
@wtf_nick
@wtf_nick 4 года назад
)
@MrSerozka
@MrSerozka 4 года назад
У вас в плейлисте Архитектура второе видео с другого канала (про евровидение). Как это? Что это?)
@MobileDeveloper
@MobileDeveloper 4 года назад
Это случайно ))) один блоггер из Томска ))
@ruslansokolov7443
@ruslansokolov7443 4 года назад
Небольшой вопрос по клину: Правильно ли делать чтобы репозитории возвращали Observable или Deffered, не должен ли этим заниматься интерактор или презентер?
@MobileDeveloper
@MobileDeveloper 4 года назад
А что будет возвращать репозиторий тогда?)
@ruslansokolov7443
@ruslansokolov7443 4 года назад
@@MobileDeveloper Готовые объекты, тогда сам репозиторий не будет завязан ни на rx, ни на корутины, а интерактор уже будет оборачивать все это в потоки) Интересно ваше мнение по поводу такого подхода
@MobileDeveloper
@MobileDeveloper 4 года назад
Я бы посмотрел как вы вытащите готовые объекты из room или retrofit без колбэков rx или корутин))
@ruslansokolov7443
@ruslansokolov7443 4 года назад
@@MobileDeveloper Ну room например может возвращать один объект или список, а в retrofit через call.execute(). Можно ещё обернуть ответ в какой-то RepositoryResponse, где будут либо данные, либо ошибка. А потом интерактор все это вызывает в io потоке. Мне просто понравился такой подход из-за того, что сложную логику данных в репозитории можно писать в функциональном стиле и нет привязки к rx и корутинам)
@karengozeyan2065
@karengozeyan2065 4 года назад
Давай видео про model view intent
@MobileDeveloper
@MobileDeveloper 4 года назад
Не знаю есть ли смысл про это отдельно снимать ) mvi не очень большое распространение имеет )
@arstandzholdoshev2942
@arstandzholdoshev2942 3 года назад
прошу прощения(не баньте меня) но когда я искал инфу про MVC то там говорилось что вьюха общается с моделью через контролер но никак ни напрямую 5:36 , оговорились или я не праильно понял?
@MobileDeveloper
@MobileDeveloper 3 года назад
А почему я должен вас банить?)) Все правильно view общается через controller, но конкретно в мобилке с этим случилась путаница, так как непонятно, что считать за view в андроиде? Xml? Activity? Проблема вышла в том, что за вью стали считать xml, а так как контроллер вынужден общаться и с моделью и с xml и есть еще разные операции там жизненного цикла, то активити раздувалась до огромных размеров
@dmitriyobidin6049
@dmitriyobidin6049 3 года назад
Ради интереса вопрос, не особо знаком с Android и корутинами, на 14:37 - не будет ли риска утечек памяти в случае, если наш запрос зависнет где-нибудь? Пользователь, например, уже давно закроет эту активити, а в корутине у нас будет висеть жесткая ссылка на textview? Или тут нет такой проблемы? Касательно же MVC - вот все везде повторяют про этот цикл(5:35), про то что model обновляет данные во view... Картинки даже в интернете есть. Но как доходит до реализации - нигде не видел, чтобы люди из модели сразу апдейтили view, всё сводится к тому, что модель возвращает данные в контроллер, а уже он обновляет View. В вашем варианте, в принципе, это тоже так. Так зачем повторять эту мантру про "цикл" и про связь модели с view?
@MobileDeveloper
@MobileDeveloper 3 года назад
Сейчас используется viewModelScope почти везде (ну где есть вью модель разумеется) либо иной скоуп привязанный к жизни view, тогда никаких утечек не будет. В случае же GlobalScope да, такое возможно + еще есть момент, что если допустим зафейлится одна корутина, то умрут все, потому что они живут в одном скоупе. Ну опять же развитие мое происходит параллельно с выпуском видео, поэтому такое бывает. В случае с тем, что в видео таких рисков не должно быть. Насчет MVC. С MVC забавная штука в том, что как-то так получилось что за View считается Fragment/Activity, а не View (xml) и поэтому такая путаница и все работает неправильно. Вроде бы я про это говорил.
@dmitriyobidin6049
@dmitriyobidin6049 3 года назад
​@@MobileDeveloper Я не говорил конкретно про реализации в андроид, я про сам подход. В определении из "интернетов" везде говорится про то что модель связаны с вью и вы тоже про это говорите, но в вашем же примере этого нет. Да и почти никогда не видел такой реализации, ибо это глупо. Я просто уже кучу времени пытаюсь найти четкое и точное определение разницы между MVC и MVP, но не могу... Настолько все по разному их трактуют, что истинно верных MVC и MVP, получается, не существует. Каждый крутит их как он понимает, но при этом, про них очень любят задавать вопросы на собеседованиях...
@MobileDeveloper
@MobileDeveloper 3 года назад
Отчасти да, но про модель (а именно то, что под ней некоторые понимают и как это связанно с вью) попробуйте найти в видео про MVI. По моему я там про это говорил
@Egor_Sigolaev
@Egor_Sigolaev 4 года назад
Добрый день! А что за классы sealed? И почему не создать простой Enum? Просто с джавы перешел на котлету, не слышал про них:)
@MobileDeveloper
@MobileDeveloper 4 года назад
Sealed class это возможность четко ограничить число наследников класса ) что позволяет с ними работать как в enum
@Egor_Sigolaev
@Egor_Sigolaev 4 года назад
@@MobileDeveloper Спасибо.
@paulsoja2732
@paulsoja2732 3 года назад
ну и с sealed классами в when не надо использовать else
@Egor_Sigolaev
@Egor_Sigolaev 3 года назад
@@paulsoja2732 Прошло 6 месяцев, без силдов жить не могу )
@user-oe2cf2ip5y
@user-oe2cf2ip5y 4 года назад
Такой вот вопрос у меня - Что лучше использовать? 1 - findViewById 2 - synthetic 3 - dataBinding ?
@MobileDeveloper
@MobileDeveloper 4 года назад
Мне больше всего нравится второй вариант )
@vitaliy2020
@vitaliy2020 3 года назад
@@MobileDeveloper synthetic больше не поддерживается, получается ты вынужден использовать dataBinding в проектах где много визуальных элементов?
@MobileDeveloper
@MobileDeveloper 3 года назад
Я использую findViewById
@user-wq1sp6te9v
@user-wq1sp6te9v 4 года назад
А разве это правильно использовать в mvvm фиксированный состояния ? Просто к тому что допустим у меня есть множество observable объектов исходя из которых я и меняю view и рассчитывать для всего этого состояния тоже занимает множество времени
@MobileDeveloper
@MobileDeveloper 4 года назад
Да я там немножко от MVI взял, в целом, в каноничном MVVM правильнее на каждую вью иметь свои observable
@nobytrix
@nobytrix 4 года назад
О и давно у тебя звуковой пульт ?)
@MobileDeveloper
@MobileDeveloper 4 года назад
Нет ) это первое видео ))
@user-te8um6ox9p
@user-te8um6ox9p 4 года назад
Не совсем понял. Если у нас есть такая хорошая библиотека moxy под MVP, то почему бы не применять ее всегда ?
@MobileDeveloper
@MobileDeveloper 4 года назад
Есть масса причин не использовать сторонние библиотеки - от безопасности до подхода
@user-te8um6ox9p
@user-te8um6ox9p 4 года назад
То есть MVC в android при разработке фактически не используется?
@MobileDeveloper
@MobileDeveloper 4 года назад
Ну практически да
@user-oc7py1vy6s
@user-oc7py1vy6s 4 года назад
Видео хорошее, лайк поставил, но делиться им в соц сетях я конечно же не буду.
@MobileDeveloper
@MobileDeveloper 4 года назад
Это типа шутка такая?)
@vito3315
@vito3315 3 года назад
Спасибо за видео, а можно название фонового трека узнать?)
@paulk3222
@paulk3222 3 года назад
Название не скажу, но вот сам трек. Взято из музыкального банка RU-vid. hdd.tomsk.ru/desk/unxlonmc#
@timyp64
@timyp64 4 года назад
А про AAC будет?
@MobileDeveloper
@MobileDeveloper 4 года назад
Про что?)
@timyp64
@timyp64 4 года назад
@@MobileDeveloper android architecture components. Или уже было?
@MobileDeveloper
@MobileDeveloper 4 года назад
TiMYP64 нет ещё не было ) но будет обязательно
@maxim.hnatiuk
@maxim.hnatiuk 4 года назад
Как поступить, если в MVP нужно получить например данные из базы, а там нужно в параметры context передать
@podo_x2
@podo_x2 4 года назад
использовать даггер
@MobileDeveloper
@MobileDeveloper 4 года назад
Сам по себе даггер тоже мало что решит, разве что вы неявно протянете контекст в презентер. Нужно передавать в презентер сконфигурированный класс для работы с бд. Сделать это более изящно можно через даггер. Но в целом обычно RoomAppDataSource доступен из application. Обратите внимание на то что ваш слой работы с бд должен быть независим от реализации конкретной бд а логика касающаяся работы рум должна быть вынесена отдельно
@aleksandrzurnachyan6013
@aleksandrzurnachyan6013 4 года назад
in mvvm viewmodel must extends ViewModel Class or AndroidViewModel,,,in AndroidViewModel we have a context
@MobileDeveloper
@MobileDeveloper 4 года назад
Все равно это плохой паттерн) никто меня в этом не переубедит )
@user-oe2cf2ip5y
@user-oe2cf2ip5y 4 года назад
А как же MVI?
@MobileDeveloper
@MobileDeveloper 4 года назад
Сделал даже опрос ) ну видимо сделаю отдельное видео ) хотя mvi это не самостоятельный паттерн и я это покажу в видео )
@user-ts6fg9eg9b
@user-ts6fg9eg9b 2 года назад
Тема mvc раскрыта не полностью. Существует ещё как минимум две реализации этой архитектуры. Достаточно заглянуть в вики
@MobileDeveloper
@MobileDeveloper 2 года назад
Вот кому интересно, тот и заглянет. MVC практически не встретишь в андроиде, поэтому на нем не акцентировал внимание
@funrider5414
@funrider5414 3 месяца назад
Очень жаль, что во многих видео идёт отсылка на другие. С одной стороны понятно, что не хочется рассказывать одно и то же, с другой - проваливаешься в то видео, а там опять отсылка. Все видео посмотреть нет абсолютно никакой возможности, потому что хронометраж уже снят огромный
@user-po3bx6kv3e
@user-po3bx6kv3e 4 года назад
Самый простой способ решить проблему переворота экрана: android:screenOrientation="portrait"
@MobileDeveloper
@MobileDeveloper 4 года назад
Окей эту проблему решили ) а что насчёт других ситуаций когда Активити умирает? Или когда нужно переворачивать экран?)
@paulsoja2732
@paulsoja2732 3 года назад
а что тогда делать если в приложении надо открыть камеру и повернуть экран?
@user-bx5ie2pk1u
@user-bx5ie2pk1u 4 года назад
Если что, винду можно активировать при помощи проги "KMSAuto"
@MobileDeveloper
@MobileDeveloper 4 года назад
Это не мой компьютер ) дома я лицензионную винду юзать
@vadimosovsky
@vadimosovsky 4 года назад
Павел Качан, а кто неудачные дубли будет вырезать?)) Ждём видос про Флаттер
@paulk3222
@paulk3222 4 года назад
Можно таймкод неудачного дубля попросить вас скинуть?
@vadimosovsky
@vadimosovsky 4 года назад
@@paulk3222 37:08, 57:50 , ещё вроде где-то было, уже не помню
@MobileDeveloper
@MobileDeveloper 4 года назад
Вроде там ничего такого нет )
@user-cp7yq4zd5e
@user-cp7yq4zd5e 3 года назад
а есть тоже самое на java? (
@MobileDeveloper
@MobileDeveloper 3 года назад
Нет, но не думаю, что это сложно на java переложить все.
@user-cp7yq4zd5e
@user-cp7yq4zd5e 3 года назад
@@MobileDeveloper когда не знаешь Kotlin - сложновато для понимания. Вроде бы понимаешь о чем речь, но при этом и знания java не такие хорошие, чтобы взять и переложить на нее) уровень - подготовка на junior android :)
@user-cp7yq4zd5e
@user-cp7yq4zd5e 3 года назад
@@MobileDeveloper в любом случае, спасибо за контент! Объясняешь очень хорошо и наконец-то я хоть где-то у кого-то увидел структуру папок реального нормального проекта!) За это отдельное спасибо!!
@MobileDeveloper
@MobileDeveloper 3 года назад
Пожалуйста :)
@fantomasray
@fantomasray 2 года назад
Тема важная и не простая. Как новичок, из видео нихрена не понял во всей этой каше. Куча открытых файлов, что-то куда-то копируется, миллион правок и дописываний. В общем понял только теорию в переложении на магазин, а как реализовать на практике так и не смог понять.
@mrrobot8923
@mrrobot8923 4 года назад
Неплохо, но это не для начинающих
@MobileDeveloper
@MobileDeveloper 4 года назад
Там нигде обратного не сказано ))
@timyp64
@timyp64 4 года назад
Музыка на фоне.... такая мрачная...
@user-xl2tf4gq1g
@user-xl2tf4gq1g 4 года назад
в уроке по dagger музыка была бомбовой
@MobileDeveloper
@MobileDeveloper 4 года назад
Надо будет найти ее )) вообще музыку стараюсь разную делать ) и чтобы не мешала )
@vitalyparhomenko7817
@vitalyparhomenko7817 4 года назад
А кстати как называется? Очень зашла!
@vitalyparhomenko7817
@vitalyparhomenko7817 4 года назад
Не смог зашазамить, риквестую трек
@MobileDeveloper
@MobileDeveloper 4 года назад
Его нет нигде кроме этих видео ) но я попрошу выложить где нибудь )
@svetatam
@svetatam Год назад
Какой мерзкий звук у клавиатуры :)
@MobileDeveloper
@MobileDeveloper Год назад
Ну что вы хотите этому видео уже несколько лет) у меня не сразу появился хороший микрофон и камера)
@gen7891
@gen7891 3 года назад
Зачем для объяснения кодить, 50 минут смотреть кажется напряжно, для объяснения архитектур 30 лет назад придумали uml. Кажется тут диаграммой взаимодействия можно обойтись и тогда видео будет 5 минут и будет все понятно.
@MobileDeveloper
@MobileDeveloper 3 года назад
Спорное утверждение. Видео с диаграммами полным полно и они как раз ничего не объясняют, потому что проблема возникает как раз, когда ты начинаешь все это с бумаги переносить на практику.
@gen7891
@gen7891 3 года назад
@@MobileDeveloper ну я пришел например не с мира мобильной разработки, зачем мне вникать в особенности мобильной среды, когда видео про архитектуру. Я поэтому видео не досмотрел ваше, но ценю ваш труд. Наверно для мобильщиков это будет норм. С другой стороны вот видео индуское ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-izZ858Gbwh0.html тут далеко не uml, да и инглишь ломанный, но по диаграммам понятно что разница во взаимодействии объектов. Видео короткое, есть визуализация. Многие просто не умеют готовить uml диаграммы, поэтому их и не понимают. Но если я не умею их рисовать это не значит что они плохие. Если они нормально нарисованы, то они дают хорошую визуализацию и мозг легче воспринимает это все. То есть я бы показал в общем сначала концепцию, а потом в коде как у меня это реализовано. В любом случае вы молодцы, удачи.
@MobileDeveloper
@MobileDeveloper 3 года назад
Да, нет я умею пользоваться диаграммами. Просто канал посвящен именно мобильной разработке, поэтому я показываю код для людей из мобильной разработки) Плюс архитектура MVP и MVC имеет некоторую специфику для мобильной разработки именно ) Спасибо! )
@antonalyabyev5207
@antonalyabyev5207 4 года назад
Когда ты говоришь "это значит вы на канале Mobile Developer ", нарушается архитектура SOLID.
@MobileDeveloper
@MobileDeveloper 4 года назад
😂 долго думал, но так и не понял где именно )
@antonalyabyev5207
@antonalyabyev5207 4 года назад
@@MobileDeveloper если разместить это видео в другом источнике, например в группе вконтакте то это уже будет не канал. Нарушается принцип единой ответственности.
@user-yl1se4us3y
@user-yl1se4us3y 4 года назад
@@antonalyabyev5207 может принцип замены Барбары Лисков?
@user-xl2tf4gq1g
@user-xl2tf4gq1g 4 года назад
@@antonalyabyev5207 ничего не нарушается, неудачный пример
@telephon3208
@telephon3208 2 года назад
странные звуки (музыка?) на фоне. мешает смотреть
Далее
치토스로 체감되는 요즘 물가
00:16
Просмотров 3,3 млн
I Built 100 Houses And Gave Them Away!
09:36
Просмотров 56 млн
What is the Context? - Android Basics 2023
11:22
Просмотров 50 тыс.