2016-04-25 8 views
0

Например, если я ввожу (Отто) объект шины, используя кинжал, тогда мне придется писать больше строк кода, чтобы указать, на сколько мест я его впрыскиваю, в интерфейс.Зачем нам нужна инъекция зависимостей для одноэлементных классов в Java или Android?

С другой стороны, если я просто использую одноэлементный класс для возврата экземпляра Bus, тогда мне не нужно писать столько строк кода, сколько мне пришлось бы в случае инъекции зависимостей.

Итак, мой вопрос: «Почему и как лучше использовать инъекцию зависимостей для инъекций экземпляров класса Singleton?»

ответ

3

Во-первых, DI уменьшит количество шаблонов, которое вы должны вызвать, чтобы настроить свои экземпляры с необходимыми зависимостями. Меньший код означает улучшенную читаемость. Цена за это зависит от конфигурации, но для крупномасштабных проектов она того стоит.

Во-вторых, вы можете извлечь выгоду из DI, когда вы запускаете автоматические тесты в своем приложении. У вас будет возможность заменить стандартную реализацию singleton макетом, которую вы можете контролировать и использовать для имитации различных сценариев, необходимых для охвата всех случаев.

Сказав это, я также считаю, что DI подходит только для крупномасштабных проектов Android или средних и крупных проектов EE. В противном случае он добавляет немного нежелательной сложности IMHO.

 Смежные вопросы

  • Нет связанных вопросов^_^