[Effective Java 3/E] 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 Effective Java 3/E클래스가 내부적으로 하나 이상의 자원에 의존하고, 그 자원이 클래스 동작에 영향을 준다면 싱글턴과 정적 유틸리티 클래스는 사용하지 않는 것이 좋다.이 자원들을 클래스가 직접 만들게 해서도 안된다. 대신 필요한 자원을 혹은 그 팩토리를 생성자에 넘겨주자.의존 객체 주입은 클래스의 유연성, 재사용성, 테스트 용이성을 개선해준다.Java 8에서 소개된 Supplier 인터페이스가 팩토리를 완벽하게 구현한 예이다. Supplier 인자는 받지 않고 리턴값만 존재Class T로 받을 수 있지만, 좀 더 편한 것 같다.인자는 받지 않고 리턴값만 존재Supplier s = () -> "I'm S..
[Effective Java 3/E] 생성자에 매개변수가 많다면 빌더를 고려하라 Effective Java 3/E선택적 매개변수가 많을 때에는 점층적 생성자 패턴을 쓰기 보다는 빌더(Builder)의 사용을 고려하라.그 외에 점층적 생성자 패턴, 자바빈즈 패턴 등이 있다.점층적 생성자 패턴의 경우 매개변수가 많아지면 코드 작성이나 읽기에 어렵다. 점층적 생성자 패턴 (telescoping constructor pattern)생성자에 매개변수에 조합에 따라 매개변수가 1개, 2개, 3개.. 점층적으로 생성자를 모두 선언하는 방식 자바빈즈 패턴 (JavaBeans pattern)매개변수가 없는 생성자로 객체 생성 후, Setter로 매개변수 값을 설정하는 방식하지만 자바 빈즈 패턴의 경우 객체가 완전히 생성..
- Total
- Today
- Yesterday