일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- transaction
- 자바
- Greedy
- 그리디
- JPQL
- java
- Exception
- 백준
- 인프런
- JDBC
- Android
- http
- Servlet
- pointcut
- springdatajpa
- 알고리즘
- AOP
- db
- 스프링
- spring
- 김영한
- 스프링 핵심 기능
- Proxy
- Thymeleaf
- Spring Boot
- 스프링 핵심 원리
- jpa
- SpringBoot
- QueryDSL
- Today
- Total
목록디자인 패턴 (2)
개발자되기 프로젝트
1. Template Method Pattern 2. AbstractTemplate 템플릿 메서드 패턴은 이름 그대로 템플릿을 사용하는 방식이다. 템플릿은 기준이 되는 거대한 틀이다. 템플릿이라는 틀에 변하지 않는 부분을 몰아둔다. 그리고 일부 변하는 부분을 별도로 호출해서 해결한다. AbstractTemplate 코드를 보자. 변하지 않는 부분인 시간 측정 로직을 몰아둔 것을 확인할 수 있다. 이제 이것이 하나의 템플릿이 된다. 그리고 템플릿 안에서 변하는 부분은 call() 메서드를 호출해서 처리한다. 템플릿 메서드 패턴은 부모 클래스에 변하지 않는 템플릿 코드를 둔다. 그리고 변하는 부분은 자식 클래스에 두고 상속과 오버라이딩을 사용해서 처리한다. @Slf4j public abstract class..
1. Template Method Pattern?? 상위 클래스에서는 전체적인 흐름을 구현하고 구체적인 처리는 하위 클래스에 위임. 2. 의도와 동기 Operation에 알고리즘의 기본 골격 구조를 정의하고, 구체적인 단계는 서브클래스에서 정의한다. --> 프레임워크에서 자주 쓰는 이유 추상화된 함수를 통해서 알고리즘의 일부 단계를 정의함으로써 template method의 처리 순서를 정할 수 있다. 3. Class Diagram 4. 객체 협력 (collaborations) AbstractClass 서브 클래스들이 반드시 구현해야 하는 알고리즘 처리 단계 내의 기본 오퍼레이션이 무엇인지를 정의한다. 서브 클래스에서 이들 오퍼레이션들을 구현한다. ConcreteClass 상위 클래스에서 선언된 추상 메..