Тёмный

Android-разработка[9]. Clean Architecture, Dagger, Flow 

Doubletapp
Подписаться 2,9 тыс.
Просмотров 9 тыс.
50% 1

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

 

10 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 35   
@old_doubletapp
@old_doubletapp 4 года назад
Таймкоды: 00:25 Что было в первой лекции 01:06 Clean Architecture 04:27 Почему Domain слой - внутренний? 05:46 Деление на модули 07:05 Пример кода 08:27 UseCase vs Interactor 09:44 Маппинг 11:20 Как связать разные компоненты? 16:04 Dagger 20:10 Особенности Dagger 25:10 Реактивное программирование 27:20 Flow 29:19 Итог 30:26 Домашнее задание
@user-xw3ek8sf9t
@user-xw3ek8sf9t 3 года назад
Это самое лучшее объяснение Clean Architecture , и за маппинг отдельное спасибо
@mau0689
@mau0689 3 года назад
Наконец то нашел объяснение работы dagger и вообще DI, нормальное и с реальными примерами, спасибо за видео!
@kafychannel
@kafychannel 2 года назад
Просто пушочный лектор, спустя 1,5 года в андроид посмотрел взахлёб!
@izizleek
@izizleek 2 года назад
ничего лишнего, все четко и по делу
@user-vitya1
@user-vitya1 3 года назад
Это великолепная лекция, спасибо большое!
@user-jh3ml7hj9k
@user-jh3ml7hj9k Год назад
Видео, 100% полезность
@funnymoment9164
@funnymoment9164 3 года назад
Какое крутое объяснение. Спасибо!
@jojomajo
@jojomajo 4 года назад
ТАКОЙ ФОРМАТ ОЧЕНЬ ЗАШЕЛ, СПАСИБО
@jojomajo
@jojomajo 4 года назад
КРАСАВЦЫ, ВСЕ ЧЕТКО. СПАСИБО ЗА ПРОДЕЛАННУЮ РАБОТУ)
@user-kn3ce4ir4q
@user-kn3ce4ir4q 3 года назад
Превосходно!
@БорисМиронов-з3т
@БорисМиронов-з3т 4 года назад
Прекрасно! Очень хорошо подано
@funnymoment9164
@funnymoment9164 3 года назад
Что то не понятно, почему говорите, что слой данных зависит от бизнес логики (Usecases), но при этом слой данных передается в конструктор Usecases. Одно другому противоречит.
@lenant
@lenant 3 года назад
Про это как раз говорится в 4:10. Идея в том, что бизнес логика (usescases) разрабатывается не думая о том, как устроены репозитории. В слое бизнес логики есть интерфейс, под который репозитории должны подстроиться. И потом, при сборке зависимостей, например, через dagger, в юзкейс будет прокинута нужная реализация репозитория
@nazaryikorchak4910
@nazaryikorchak4910 3 года назад
Идеально!
@Gilb077
@Gilb077 4 года назад
хорошая лекция
@ruslan622
@ruslan622 2 года назад
Видео супер! Подскажите пожалуйста, из слоя Data у Вас выходит тип данных Flow, этот же тип получает Domain и передаёт в Presentation. Получается, что Domain привязан к Data этой моделью Movie ? Сейчас столкнулся с этой проблемой в своём приложении и ищу правильную передачу Flow через слои
@motoharujap
@motoharujap 4 года назад
очень странно что так мало просмотров, отличное видео. хотелось бы еще детальный разбор о месте различных андроид компонент, как например livedata в clean architecture, потому что когда читаешь статьи в целом про CA, сложно их наложить на андроид architecture components бывает. есть конечно статьи про CA конкретно на андроид вроде той, откуда были взяты картинки со слоями из начала видео, но опять же там нет ничего про architecture components
@TheSporpion
@TheSporpion 3 года назад
Вроде понятно все, осталось применить на практике xD
@mikhailgureev218
@mikhailgureev218 3 года назад
охуедь вы чёткие ребята. спасибо большое.
@rudinandrey
@rudinandrey 2 года назад
вроде все очень хорошо рассказываешь, но уже что-то перестал понимать, видимо поздно ( днем пересмотрю, заранее спасибо за видео.
@MT-zm6cf
@MT-zm6cf 3 года назад
Хорошая лекция. Есть один вопрос: слой domain должен быть полностью изолирован от всяких библиотек, но вы используете там Flow от корутин. Не является ли это нарушением принципа чистой архитектуры?
@doubletapp.studio
@doubletapp.studio 3 года назад
Domain слой может использовать библиотеки, но не должен использовать библиотеки, которые привязывают его к конкретной платформе (например, LiveData). Flow и корутины не зависят от платформы.
@ljlj
@ljlj 2 года назад
Все равно непонятно, зачем создавать ContextModule, если к нему нельзя обратиться из модуля data, потому что daggerapplicationcomponent находится в presentation. А если его и создавать в data, то там нет контекста, чтобы создать ContextModule
@khametoff6386
@khametoff6386 3 года назад
Ты че за лев, вац)) Бомба
@shibabasensei6219
@shibabasensei6219 3 года назад
найс
@alekseypogorelov3526
@alekseypogorelov3526 4 года назад
Спасибо за видео, а есть ссылка на репо примера из видео? Clean
@doubletapp.studio
@doubletapp.studio 4 года назад
Репозитория нет, код из видео можно скопировать из 9 презентации yadi.sk/d/gkFaS1mG_ARZQg
@alekseypogorelov3526
@alekseypogorelov3526 4 года назад
@@doubletapp.studio Сейчас делаю приложение с использованием Clean architecture, но пока без дагера, с учетом этого, такой код считается приемлемым во фрагменте?: val repo = RepositoryImpl() val case = LoadUseCase(repo) val viewModel = ViewModelProvider(this,ViewModelFactory(case)).get(MainViewModel::class.java) Просто смущает наличие репозитория тут, или когда нет библиотек для работы с DI это норм? p.s. На вход фабрики у меня интерфейс Repository.
@doubletapp.studio
@doubletapp.studio 4 года назад
Если нет никакого DI, то особо и нет альтернатив, так что да, тогда это подходящий код.
@Sk-gb2hx
@Sk-gb2hx 3 года назад
+
@jesuraj1882
@jesuraj1882 3 года назад
Can u talk in english bro. For better understand
@user-bh3ul2yk3q
@user-bh3ul2yk3q 3 года назад
Dagger - упоротая либа от упоротых разработчиков. Используйте Coin и не выдумывайте. Я дагером пользовался несколько лет. И вот, уже почти пол года использую коин. В разы понятней и удобней
@dentor2005
@dentor2005 3 года назад
HILT. Koin в рантайме может выпадать при ошибках.
@doubledrop2384
@doubledrop2384 3 года назад
Лол, сейчас бы райтайм лажей пользоваться в 2к21
Далее
ФОКУС -СВЕТОФОР
00:32
Просмотров 66 тыс.