O Father O Satan
Много boilerplate кода
O Father O Satan
Если от него можно избавиться, то нужно делать
O Father O Satan
Проблема в том, что Dagger плодит свой бойлерплейт xD
Anonymous
что такое boilerplate код ?
O Father O Satan
код который нужно писать из раза в раз. Например при создании нового окна ты создаешь каждый раз новый класс активности, класс презентера, класс модели
O Father O Satan
Даггер подразумевает что у тебя окно будет как отдельный модуль
O Father O Satan
То есть ты плодишь ещё два класса модуля и компонента
O Father O Satan
Где ты объявляешь правила инжекта
Anonymous
то есть другими словами даггер дает возмоность написать один раз класс, а к нему подключать окна как отдельные модули?
O Father O Satan
Ага. Например ты сделал helper для sharedprefernce
O Father O Satan
и чтобы каждый раз не объявлять создать новый объект, ты делаешь в классе нечто такое:
`
class Foo {
@Inject
SharedPreferencesHelper preferencesHelper;
}
`
O Father O Satan
Но тебе всё равно нужно описывать правила инжекта
O Father O Satan
Но правда один раз
O Father O Satan
Но компоненты и модули нужно создавать для каждой сущности где есть DI
Anonymous
уже более понятно, спасибо
O Father O Satan
Ну и контекст можно инжектить
O Father O Satan
Но тут спорный момент
O Father O Satan
Таким образом ты инжектишь контекст всего приложения
O Father O Satan
А это может привести к утечкам памяти
O Father O Satan
Вместо getApplicationContect() делать либо getContext(), или view.getContext()
O Father O Satan
Тогда сборщик мусора сработает когда будут уничтожены компоненты где ты вызывал получение контекста
Anonymous
👍
O Father O Satan
Хотя на счёт контекта я могу ошибаться, думаю меня поправят если я не прав
Anonymous
Дайте ссылку на флуд чат
Anonymous
Надо в шапку ее добавить
Di7aK
https://t.me/kotlin_meta
Di7aK
эта шоле?
Anonymous
Di7aK
тогда я хочу к вам в флуд чат
Anonymous
Всем привет. Как можно увидеть код внутри .so файла?
Di7aK
например никак, это уже компилированный файл
Anonymous
После декомпиляции .apk файла вообще нет никакой возможности?
Di7aK
https://reverseengineering.stackexchange.com/questions/4624/how-do-i-reverse-engineer-so-files-found-in-android-apks
O Father O Satan
Maryna
Anonymous
Maryna
Ну она внутри себя может создавать экземпляры других классов вродь
O Father O Satan
Maryna
Чего? О_о
Лол, фабрика для этого и создаётся
O Father O Satan
Фабрика просто возвращает тебе нужный класс, модуль или другую сущность через один интерфейс
O Father O Satan
Но внутри себя она ничего не создаёт. По крайней мере не должна
Maryna
Она может обращаться к другим классам если они ей нужны
O Father O Satan
Декоратор может. Фабрика нет.
Алексей
Другими словами, внедрение зависимостей основывается на концепции инверсии контроля, которая говорит о том, что класс должен получать свои зависимости извне. Говоря просто, ни один класс не должен создавать экземпляр другого класса, а должен получать все экземпляры из класса конфигурации.
Это статья с хабры про даггер2. А собственно чем плохо создавать экземпляр другого класса внутр класса ?
Плохо классу A создавать внутри себя экземпляр другого класса B, от которого A зависит. Плохо потому, что вы не сможете использовать класс A с другой реализацией B, потому что A всё создаёт для себя сам. Хорошо, если A говорит "мне нужен любой экземпляр класса, который реализует интерфейс B, и мне неважно, когда и как он был создан". Это принцип DIP. А для его реализации есть разные DI-фреймворки.
O Father O Satan
O Father O Satan
O Father O Satan
В смысле что тебе придется их создавать
O Father O Satan
Но не внутри каждого класса
Anonymous
Кто знает есть чат про дизассемблер?
Maryna
O Father O Satan
https://refactoring.guru/ru/design-patterns/factory-method
O Father O Satan
Даже в превьюхе написано
O Father O Satan
https://refactoring.guru/ru/design-patterns/abstract-factory
Larymar
Паттерн Фабричный метод предлагает создавать объекты не напрямую, используя оператор new, а через вызов особого фабричного метода. 
Maryna
Андрей
Alexey 🇪🇸
Alexey 🇪🇸
Вот держи)
Alexey 🇪🇸
Стикер
O Father O Satan
Кирилл
Хелп, если не сложно
https://ru.stackoverflow.com/questions/906063/%d0%9d%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%8e%d1%82-%d0%bf%d1%83%d1%88%d0%b8-firebase
Vladimir
Народ, можно ли абзацный интервал установить в TextView
O Father O Satan
Чуваки. Был не прав
O Father O Satan
O Father O Satan
Реально. Мне казалось что фабрика возвращает только то что нужно создать
O Father O Satan
Почитал подробнее и посмотрел реализации
Алексей
Это радует) Лучше не рассказывать о том, как работает то, чем вы ни разу не пользовались, людей в заблуждение введете.
O Father O Satan
Да не. Проблема в том, что я реализовыал фабрику. Просто абстрактную. Но не буду в детали реализации вдаваться
O Father O Satan
Я
O Father O Satan
Посмотрел код😂там реально создание объектов внутри
O Father O Satan
Это радует) Лучше не рассказывать о том, как работает то, чем вы ни разу не пользовались, людей в заблуждение введете.
Алексей
да
O Father O Satan
Как раз с support все окей было. Хотя у нас проект относительно новый.
O Father O Satan
Хотя сразу скажу
O Father O Satan
У нас довольно специфичные устройства