говорит о том, что класс должен получать свои зависимости извне. Говоря просто, ни один класс не должен создавать экземпляр другого класса, а должен получать все экземпляры из класса конфигурации.
Это статья с хабры про даггер2. А собственно чем плохо создавать экземпляр другого класса внутр класса ?
А фабрика же создаёт
Плохо классу A создавать внутри себя экземпляр другого класса B, от которого A зависит. Плохо потому, что вы не сможете использовать класс A с другой реализацией B, потому что A всё создаёт для себя сам. Хорошо, если A говорит "мне нужен любой экземпляр класса, который реализует интерфейс B, и мне неважно, когда и как он был создан". Это принцип DIP. А для его реализации есть разные DI-фреймворки.
Обсуждают сегодня