Size: a a a

Android Architecture

2020 August 10

(

( in Android Architecture
Konstantin Dovnar
Под конструктором я подразумевал использование фабрики.
Которая андроидная FragmentFactory?
источник

KD

Konstantin Dovnar in Android Architecture
(
Которая андроидная FragmentFactory?
Да. Других вариантов, к сожалению, я не знаю.
источник

AA

Andrey Akimov in Android Architecture
Aleksey D.
положим, экран профиля пользователя
в одном случае - это новый пользователь, который при нажатии «назад» выходит из приложения и разлогинивается
в другом случае - это переход авторизованного пользователя для редактирования данных о себе, токен авторизации уже где-то на диске

в таком кейсе нужно обеспечить экрану две разных реализации для:
- хранилища токена авторизации (префы или ин-мемори)
- координатора, который по-разному обработает нажатия на кнопку назад - в одном случае закроет весь экран, в другом - вернет пользователя на предыдущий
ну да, это логично
источник

(

( in Android Architecture
Konstantin Dovnar
Да. Других вариантов, к сожалению, я не знаю.
Я просто тогда не вижу смысла делить виды фрагментов на фрагмент-диайконтейнер и фрагмент-инжектируемый, типа, один чёрт их всех можно через фактори инжектить
источник

KD

Konstantin Dovnar in Android Architecture
(
Я просто тогда не вижу смысла делить виды фрагментов на фрагмент-диайконтейнер и фрагмент-инжектируемый, типа, один чёрт их всех можно через фактори инжектить
Так, а зачем эта лишняя головная боль с фабрикой, если она лишняя?
источник

KD

Konstantin Dovnar in Android Architecture
Могу понять, если у вас одна фабрика на всё приложение с огромным when, тогда да, может быть. Добавить туда быстренько фрагмент ещё один не составит труда, хотя тоже непонятно зачем.
источник

(

( in Android Architecture
Ну как лишняя, процесс инъекции же одинаковый для всех фрагментов, нет?
источник

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
Могу понять, если у вас одна фабрика на всё приложение с огромным when, тогда да, может быть. Добавить туда быстренько фрагмент ещё один не составит труда, хотя тоже непонятно зачем.
затем, чтобы из разных родителей можно было передать разные реализации зависимостей
источник

KD

Konstantin Dovnar in Android Architecture
Aleksey D.
затем, чтобы из разных родителей можно было передать разные реализации зависимостей
У тебя в каждом фрагменте больше двух реализаций зависимостей?
источник

A

ABI in Android Architecture
Вот вы флудильщики 😂
источник

A

ABI in Android Architecture
Сижу на собесах, а вы трям, трям, трям
источник

KD

Konstantin Dovnar in Android Architecture
(
Ну как лишняя, процесс инъекции же одинаковый для всех фрагментов, нет?
Да, но снова таки — это надо сделать фабрику под фрагмент и, по хорошему, тесты, чтобы в рантайме не обосраться случайно.

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

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
У тебя в каждом фрагменте больше двух реализаций зависимостей?
от случая к случаю попадается
источник

KD

Konstantin Dovnar in Android Architecture
Если вдруг придут дяди маркетологи и скажут, что пора в этом месте сделать вторую реализацию, то, если я прямо увижу, что здесь всё можно переиспользовать и обойтись лишь зависимостями, я за 15 минут переделаю получение зависимостей.
источник

KD

Konstantin Dovnar in Android Architecture
Но зачем мне это делать везде заранее? Просто чтобы было? Нет, спасибо
источник

AI

Arkadii Ivanov in Android Architecture
Konstantin Dovnar
Да, но снова таки — это надо сделать фабрику под фрагмент и, по хорошему, тесты, чтобы в рантайме не обосраться случайно.

Если у меня фрагмент-экран (родитель), который сейчас никоем образом не должен меняться от своих зависимостей, то на кой хер мне всё это, если я могу прямо взять какой-нибудь репозиторий и пробросить его дальше в презентер\фичу\вм\куда-угодно?
Фабрика одна на всех. Одна у каждого родителя. Если это single activity, то у той Активити будет одна фабрика, которая умеет создавать все фрагменты-экраны
источник

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
Да, но снова таки — это надо сделать фабрику под фрагмент и, по хорошему, тесты, чтобы в рантайме не обосраться случайно.

Если у меня фрагмент-экран (родитель), который сейчас никоем образом не должен меняться от своих зависимостей, то на кой хер мне всё это, если я могу прямо взять какой-нибудь репозиторий и пробросить его дальше в презентер\фичу\вм\куда-угодно?
кажется, пора сделать дисклеймер, что обсуждаемые подходы имеют смысл тогда, когда этого требует продукт) а то тебя опять в степь «зачем делать так, если можно проще»
источник

KD

Konstantin Dovnar in Android Architecture
Arkadii Ivanov
Фабрика одна на всех. Одна у каждого родителя. Если это single activity, то у той Активити будет одна фабрика, которая умеет создавать все фрагменты-экраны
Выше написал — в таком кейсе это просто сделать, ибо достаточно добавить ещё одно ветвление. Но далеко не все делают так.
источник

AD

Aleksey D. in Android Architecture
Arkadii Ivanov
Фабрика одна на всех. Одна у каждого родителя. Если это single activity, то у той Активити будет одна фабрика, которая умеет создавать все фрагменты-экраны
ну тоже спорно, фрагмент-сценарий может иметь свою фабрику, если внутри несколько фрагментов живет, например)
источник

AI

Arkadii Ivanov in Android Architecture
Konstantin Dovnar
Выше написал — в таком кейсе это просто сделать, ибо достаточно добавить ещё одно ветвление. Но далеко не все делают так.
Так по-другому никак. У фрагмент менеджера может быть только одна фабрика
источник