일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 포매터
- 소프트웨어의 품격
- 동적파라미터
- 수정자주입
- 토비의 스프링
- kotlin ::
- 생성자주입
- jpa lazy
- fetch join
- 스프링시큐리티
- 그래프큐엘
- 정적팩토리메서드
- ioc컨테이너
- Spring
- 자바 필터
- 기능적 요구사항
- kotlin 리팩터링
- open-session-in-view
- spring formatter
- 스프링di
- 비기능적 요구사항
- IOC
- 스프링부트 도커
- jpa no session
- Atomicity
- 스프링
- method refetence
- 도커 이미지 빌드
- java predicate
- 스프링 시큐리티 설정
Archives
- Today
- Total
공부기록
아이템5. 자원을 직접 명시하지 말고 의존객체주입을 사용하라. 본문
반응형
자원을 직접 명시하지 말고 의존객체주입을 사용하라.
많은 클래스가 하나 이상의 자원에 의존
인스턴스를 직접 사용하면 유연성이 떨어진다.
public class SpellChecker { private static final Lexicon dictionary = new ...(); }
클래스가 여러자원 인스턴스를 지원해야한다.
인스턴스를 생성할 때 생성자에 필요한 자원을 넘겨주는 방식.
팩터리 메서드 패턴을 구현하는 방식
public class SpellChecker { private final Lexicon dictionary; public SpellChecker(Lexicon dictionary) { this.dictionary = Objects.requireNonNull(dictionary); } }
정리
하드코딩하지말고 유연하게 코딩할 것. 스프링프레임워크가 좋은 이유 또한 DI를 지원하기 때문이다.
반응형
'JAVA' 카테고리의 다른 글
아이템7. 다 쓴 객체 참조를 해제하라 (0) | 2019.11.29 |
---|---|
아이템6. 불필요한 객체 생성을 피하라. (0) | 2019.11.27 |
아이템4. 인스턴스화를 막으려거든 private 생성자를 사용하라. (0) | 2019.11.26 |
아이템3. private생성자나 열거타입으로 싱글턴임을 보증하라 (0) | 2019.11.26 |
아이템2. 생성자에 매개변수가 많다면 빌더를 고려하라 (0) | 2019.11.26 |