Мне интересно знать, является ли следующий сценарий хорошим вариантом использования для внедрения зависимости.Пример немного скомпонован и не может быть хорошим дизайном.Пожалуйста, потерпите меня и сосредоточьтесь на части, которая относится к вопросу:
Допустим, у меня есть следующие классы:
class BankAccount
{
User user;
Integer accountNo;
BankAccount(User user, Integer accountNo){
....
}
}
class User
{
String firstName, lastName;
User(String firstName, String lastName)
{
....
}
}
Допустим, мне нужно создать объекты в следующем сценарии:
void withoutDependecyInjectionUsingNewOperator()
{
User user = new User("Lance", "Armstrong");
// These values are determined
// based on form input on UI
BankAccount account = new BankAccount(user, 1233);
}
Я познакомился с такими фреймворками, как Guice или Spring, которые поддерживают DI.Если бы я использовал какую-либо из этих платформ, должен ли я изменять указанную выше функцию для использования DI?
На основании примеров, которые я видел в учебниках, кажется, что это в основном полезно, когда аргументы конструктора могутбыть выбранным как конфигурация, а не для случаев, когда значения в конечном счете основаны на вводе пользователем?
Спасибо!