본문 바로가기

construction injection

Effective Java : (4) Builder Pattern 정적 팩터리와 생성자에는 똑같은 제약이 있습니다. 선택적 매개변수가 많을 때 적절하게 대응하기가 어렵다는 점입니다. 첫 번째 대안으로, 점층적 생성자 패턴(telescoping constructior pattern)을 주로 사용하게 됩니다. 그러나 매개변수가 많고, 인자로 전달하기 원치 않는 변수가 있을 때 혼란을 초래합니다. 다음과 같이 어떤 한 생성자를 선택하여 객체를 생성했다고 봅시다. NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 0, 35, 27); 네 번째 인자는 지방을 의미하는 인자를 전달해야하는데, 굳이 전달 할 필요가 없지만 0을 전달하였습니다. 또한, 각 매개변수가 어떤 것을 뜻하는지 한 눈에 파악하기 어렵습니다. 두 번째 대안으.. 더보기
Effective Java : (3) Construction Injection 의존성을 주입할 때, Field Injection을 권장하고 있지 않습니다. 대신 Construction Injection을 권장합니다. 또한, IntelliJ에서 Field Injection은 Warnning으로 감지합니다. public class Testclass { @Autowired // -> Warnning 발생 private ClassName claseVariable; public Testclass() { } } 단일 책임의 원칙 Field Injection은 의존성을 주입하기 쉽습니다. @Autowired Annotation만 선언하면 여러 개의 변수를 쉽게 나열할 수 있습니다. Constrction Injection을 사용하면 생성자에 파라미터가 많다는 것을 느끼고, 리팩토링을 자연스럽게 .. 더보기