Kanstantsin
как будто пытаешьсяпоказаться умнее ))
Mike
ну есть же ещё ActiveRecord
Mike
и оба ни разу не ООП
Kanstantsin
я не знаю что это )
Ekaterina
Koin это про dependency injection?
Kanstantsin
да
Mike
Вряд ли.))
а мне кажется, он прав
Mike
я же мог просто пройти мимо, промолчать в тряпочку
Ekaterina
Вообще, очень удобно юзать room вместе с koin-ом. Создаёшь сингл модуль с room-объектом при onCreate в аппликейшене, потом инъектишь куда нужно и пользуешься.)
На сколько сильно меня побьют если я так сделаю, но остальное не буду инжектить при условии что у меня мвп?
Kanstantsin
так лучше делать не надо тогда
Kanstantsin
если не одна работаешь
Kanstantsin
такие вещи нужно согласовывать с командой
Kanstantsin
и лучше ставить пораньше в проект
Ekaterina
Да не, одна. Good practice, все такое
Kanstantsin
ну тогда я бы лучше делал инжект не только базы
Kanstantsin
всякие репозитории, viewmodel, ретрофит
Kanstantsin
всякие менеджеры тоже
Kanstantsin
ну я моем проекте сейчас так
Ekaterina
Менеджеры? Что имеешь в виду?
Kanstantsin
ну для начала можно тренироваться и на одном
Kanstantsin
не важно )
Kanstantsin
это внутренние классы моего приложения
Kanstantsin
разные
Kanstantsin
дляя проверки интернета, для локации
Kanstantsin
не суть )
Ekaterina
Хороший пример)
Кирилл
Так, а чё, di и mvp разве не дружат? По идеологии
Kanstantsin
да дружат
Ekaterina
Дружат. Я и ди не дружим
Kanstantsin
конечно
Кирилл
Дружат. Я и ди не дружим
С коин-ом очень легко подружиться.)
Kanstantsin
di какую проблему решает ?
Mike
что именно ?
инжект, модуль в аппликейшене. Не могу понять, чем это отличается от просто полей в аппе.
Kanstantsin
тем что апп не загружен полями ?
Ekaterina
di какую проблему решает ?
На сколько я поняла хорошо при тестировании и все зависимости видны
Kanstantsin
когда их станет не мало
Kanstantsin
+ ты не дергаешь руками эти поля себе где надо
Artyom
тем что апп не загружен полями ?
Рекомендую прочитать про SOLID
Кирилл
тем что апп не загружен полями ?
+ ещё то что не нужно хранить ссыль на инстанс аппки
Mike
+ ты не дергаешь руками эти поля себе где надо
дёргать поля vs. by inject — есть разница?
Kanstantsin
кстати да
Кирилл
дёргать поля vs. by inject — есть разница?
Хз, так кажется более симпатичным. xD
Kanstantsin
ссылка тоже не нужна
Kanstantsin
я на днях заметил что она не дергается нигде тоже
Кирилл
а где брать её?
Эм. Ну, не приходится создавать статический объект instance
Кирилл
а, коин создаёт его сам?)
Ты не пользовался коином?)
Mike
Ты не пользовался коином?)
нет, потому и спрашиваю)
Mike
какой же ты деревянный, блин!
Ekaterina
Мне кажется ты только что начал холивар
Kanstantsin
Даггер вообще ппц
Kanstantsin
Юзал его, лучше уже и не юзать
Kanstantsin
Только запутывает проект
Kanstantsin
Окончательно )
Mike
Юзал его, лучше уже и не юзать
Я использовал его часа четыре — этого времени было достаточно, чтобы выпилить :)
Kanstantsin
Коин хоть простой
Kanstantsin
И понятный
Ekaterina
А чего ж тогда его все требуют?
Vitaliy
Не это ещё не холивар нужно ещё про коин это настоящий ди или нет 😏
Mike
Alexey
Ну даггер быстрый и валидация дерева компайл тайм
Artyom
А теперь он в проект врос и выпилить его уже не так просто
Mike
В начале времён был Guice, Android-Guice, Android Annotations и много ещё разного шита.
Artyom
Как говорится "так сложились обстоятельства"
Mike
false, у меня получалось
Кирилл
нет, потому и спрашиваю)
Ок, тогда смотри: делаешь модули, в которых будут храниться определённые объекты. Можно делать single - он будет один раз создаваться и держаться всё время в памяти, можно делать scope - его ты можешь загружать и выгружать когда хочешь, и можно фабрики. Single модули очень удобно инъектить куда угодно. Ты создал их, и совсем не думаешь о том, откуда они придут и т.д., в общем это уменьшает связанность кода. Scope тоже классная вещь, не нужно делать lateinit var или var с налбл типом, просто кидаешь ему зависимость, загружает в память и пользуешься когда нужно, потом выгружаешь когда тебе нужно его поменять. В общем, это приводит к уменьшенной связанности кода и убирает засорение Application.
Alexey
Этот коин может в дженерики?
Mike
я не про то
Artyom
false, у меня получалось
Не, выпилить всегда можно. Только кто оплатит время, которое ты потратил на его выпиливание. И не у всех навыков хватит