Многомодульность: что это такое? Объяснение для новичков. MVVM Retrofit Git. Чистая архитектура
Vložit
- čas přidán 25. 02. 2024
- Что такое многомодульность? Зачем оно нужно и причем здесь чистая архитектура? Пишем проект с нуля.
Весь код на гитхабе
github.com/JohnnySC/AnimeQuote
телеграм канал
t.me/easyCodeRu
Интересно, спасибо. Мне как новичку интересно! ❤
Очень интересное и полезное видео, спасибо
Интересно было посмотреть!
Всегда думал, что много модульность реально для мидлов/сеньоров, очень важная и полезная тематика видео 🔥🔥
Будет продолжение про добавление модулей с фичами?
Классная тема, спасибо за видос
Господи, спасибо за внятную инфу.
Лайк и подписка! А ещё в телеграмм канале можно найти информацию про 500 премиум видео
вместо Implementation можно написать api для получения доступа на retrofit в application модуле
Да!
Спасибо за видео! хотел бы видео ещё с Hilt, особенно показали-бы часть про app module
В следующем видео будет Hilt с многомодульностью
@@easyCodeRu Спасибо
Отлично!
Оганнес, спасибо за видео! Как обычно все разжевано для новичков :)
Хотелось бы увидеть продолжение по многомодульности, но уже с использованием юзкейсов и интерцепторов, постепенно увеличивая сложность, как в ZeroToHeroTDD.
ну планирую хилт добавить
Если правильно помню, то consumer-rules дает возможность объявить такие же правила для proguard в рамках модуля. То есть в этом файле объявляется какие правила использовать только для данного модуля, затем в build.gradle самого модуля указывается, что данный модуль предоставляет следующим правла(вроде бы какая-то переменная типа consumerFiles, или что-то в этом роде), и тогда при сборке proguard соберет все proguard-rules, и consumer-rules, и обфусцирует/минимизирует согласно полученному общему файлу
отдавать пару в качестве результата чистейшее зло))
Именно! Никогда так не делайте! Нужно писать нормальное ооп с интерфейсом и классами
Было бы еще неполохо озвучить правила использования модификатора доступа interntal - если мы боремся за чистоту использования слоев то этот модификатор в тему, что стоит помечать как internal, а что оставить public.
Имхо также зря обошел стороной такой вопрос как layer entity, имхо это важный вопрос в вопросе разделения на слои. Если мы за слабое связывание модулей, то необходимо рассказать про трансформацию сущностей в слоях, где и когда необходимо мапить (частично сказал, что в presentation приходит domain entity, но на вью идет уже модель презентации)
Но так все четко и понятно. 5+
Ну я потому и сказал в видео что это ПОСОБИЕ ДЛЯ НОВИЧКОВ. И главная тема это разделение на слои и модули в принципе. Если б я начал говорить и показывать все то видео было б на 10 часов и было б сложным для новичков. Поэтому это видео как минимум для тех кто никогда не сталкивался с многомодульностью и чистой архитектурой
После Японии все прилаги будут про аниме :3
А что еще!?))
❤
Если приложение с 3 уровнями допуска. Пользователь, работник, Администратор. Как я понял надо написать общий модуль авторизации. и написать 3 модуля для каждого допуска?
Пользователь-presentation Пользователь-domain
работник-domain работник-presentation
Администратор-domain Администратор-presentation
и один модуль для бизнес логики.
как я понял из вашего видео в модуль бизнес логики должен находится строго тот который отвечает за рекламу и платные функции приложения?
или в модуль бизнес логики какой код должен входить или их должно быть больше для каждого уровня допуска?
можно делать по разному> можно разбивать по фичам, можно по слоям, а можно и по фичам и по слоям
про бизнес логику правильно поняли: все что относится к бизнесу
А обязательно ли создавать buildSrc модуль?
мы создали 3 модуля (domain, data, presentation) имея первый app модуль по умолчанию
Крутое видео! Скажи а на чем андройд разработчики пишут BackEnd?
Android разрабы не пишут бекенд)) Тогда они фулстек называются если пишут и андроид и бекенд
@@easyCodeRu На собеседовании, когда сказал что бэкэндом не занимаюсь - тетя HR крайне удивилась и сказала, что в ее команде все пишут серверы на java. Она была крайне возмущена, что я этим не занимался)))
В вакансии пишут джава разработчик, это значит бекенд разработчик. Тот факт что и Андроид разработчики знают джава часто путает эйчаров
@@easyCodeRu Спасибо большое! Очень полезный цикл про многомодульность у Вас. Сейчас изучаю.
Окай
Угарнул с шутки про 2 дженерика
На какой минуте?
@@easyCodeRu 10:12
а. да. Речь про Resource
Здравствуйте, будут видео разбору проектов подписчиков? я бы с радостью бы дал вам свой проект на разбор чтобы узнать насколько мой проект не правильный. Мой проект мульти модульность написан не по вашему видео. Я дописываю свой проект в свободное время. Достаточно много кода. Часть логики на сервере Ktor часть на android. Использовал библиотеки jetpack compose, Hilt,Retrofit
Отправь в телеграм t.me/easyCodeRu
Спасибо огромное. Только малый процент людей в действительности могут понять ценность твоих видео
и тебе спасибо. массам нужны лишь зрелища на 5 минут, а не часовое видео с реальным кодингом
Это не многомодульность, это чистая архитектура с 3 пакетами. По отдельности они не будут собираться
Во что должен собираться отдельно дата модуль?
@@easyCodeRu ни во что, потому что это не модуль а пакет, а ты преподносишь это как многомодульность
Хм. А я думал что нажимая создать новый модуль создаётся новый модуль
@@easyCodeRu почему ты думаешь что ты создаёшь модуль? То что говоришь про data, domain, presentation это все пакеты, они так и создаются new package
посмотри пожалуйста еще раз внимательно, я же нажимаю создать модуль, а не пакет : make new module
Я конечно не андроид разработчик, но, кажется, автор половину видео нес какие-то антипаттерны, а некоторые вещи вообще не понятно зачем были освящены в видео, дропнул на 70% просмотра.
Если речь про ProvideViewModel то это ручной диай, в следующей серии будет Hilt
жаль что дропнул, посмотрел бы до конца возможно увидел бы что к чему и зачем