3장 템플릿
2023. 3. 29. 12:59ㆍ스터디/토비 스터디
728x90
JDBC는 중간에 어떤 이유로든 예외가 발생했을 경우에도 사용한 리소스를 반드시 반환
try/catch/finally 블록으로 리소스 반환 가능(try - resource 도 가능)
예시 코드에서 2중 중첩, 메서드 반복 등 단점이 많음
## 분리와 재사용을 위한 디자인 패턴
- 변하는 성격이 다른 것을 찾아내는 것
## 템플릿 메서드 패턴 : 상속 기능을 확장, 상속을 통해 새로운 클래스를 만들어야
## 전략 패턴 : 확장에 해당하는 변하는 부분을 별도의 클래스를 만들어 추상화된 인터페이스를 통해 위임
- 중첨 클래스의 내부 클래스에서 외부의 변수를 사용할 때 외부 변수는 반드시 final로 선언해줘야
- 익명 내부 클래스는 선언과 동시에 오브젝트를 생성해야
# 템플릿/콜백
- 템플릿 : 고정된 작업 흐름을 가진 코드를 재사용한다
- 콜백은 보통 단일 메서드 인터페이스 사용, 일반적으로 하나의 메서드를 가진 인터페이스를 구현한 익명 내부 클래스로 만들어짐
매번 메서드 단위로 오브젝트를 새롭게 전달
# 중복 제거, 템플릿/콜백 설계
- 템플릿이 콜백에게 전달해줄 내부의 정보는 무엇인가
- 콜백이 템플릿에게 돌려줄 내용은 무엇인가
- 작업을 마친 뒤 클라이언트에게 절달해줘야 할 것
- 템플릿/콜백 적용시 템플릿과 콜백의 경계
- 변하는 코드의 경계를 찾고, 그 경계를 사이에 두고 주고 받는 일정한 정보 확인
728x90
'스터디 > 토비 스터디' 카테고리의 다른 글
6장 AOP (0) | 2023.04.02 |
---|---|
5장 서비스 추상화 (0) | 2023.03.29 |
4장 예외 (0) | 2023.03.29 |
2장 : 테스트 (0) | 2023.03.20 |
1장 : 오브젝트와 의존관계 (0) | 2023.03.20 |