Git Remote Push Error! [удаленный отклоненный] мастер - > master (не удалось обновить рабочее дерево до новой HEAD)

Основным преимуществом инъекции конструктора является то, что он позволяет вашим полям быть отмеченными окончательными. Например:

class Foo {
    private final Bar _bar;

    Foo(Bar bar) {
        _bar=bar;
    }
}

На следующей странице есть отличный список про и con: Guice Best Practices :

Метод инъекции

  • + Не вводится в поле
  • + Единственное, что работает для некоторых странных случаев кросс

Инъектор конструктора

  • + Поля могут быть окончательными!
  • + Инъекция не может быть пропущена
  • + Легко видеть зависимости с первого взгляда
  • + Это то, что идея конструкция - все о
  • - Нет дополнительных инъекций
  • - Бесполезно, если библиотека DI не может сама выполнить экземпляр
  • - Подклассам нужно «знать» об инъекциях необходимые для их суперклассов
  • - Менее удобен для тестов, которые только «заботятся» о одном из параметров

0
задан Null isTrue 2 March 2019 в 01:48
поделиться