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