типа Dagger2. Поступило предложение в каждом классе создать статический метод, который будет возвращать объект этого класса используя свой конструктор и передавая туда аргументы, которые получены таким же путем. В самом конечном итоге то, что не может быть получено статичным методом самого класса, будет хранится в статичном поле класса Application. Чем такой подход может быть опасен и в чём минусы?
Фреймворк для dependency injection - дело вкуса. Хоть даггер, хоть туспик, хоть самописный. Но описанный вами подход - это не di. На большом проекте это вызовет кучу головной боли, сильную связанность кода, отсутствие какой либо на упорядоченности в зависимостях, отсутствие гибкости для зависимостей, отсутствие возможности "грохнуть" часть объектов, когда они перестали быть нужны.
https://github.com/stepango/Archetype/blob/master/app/src/main/java/com/stepango/archetype/player/di/Injector.kt тут очень интересный пример, DI, на котлине право. Но смысл понятен.
Обсуждают сегодня