티스토리 뷰
템플릿 메소드 패턴
변하지 않는 부분은 슈퍼클래스에 두고 변하는 부분은 추상 메소드로 정의하여 서브클래스에서 오버라이드하여 새롭게 정의해 쓰도록 하는 패턴
기존의 상위 DAO 클래스에 불필요한 변화는 생기지 않도록 할 수 있으나 DAO 로직마다 상속을 통해 새로운 클래스를 만들어야 하기 때문에 제한이 많다. 또한 상위 클래스와 서브클래스들의 관계가 컴파일 시점에 이미 결정되므로 관계의 유연성이 떨어진다.
전략 패턴은 개방 폐쇄 원칙(OCP)를 잘 지키는 구조이면서도 템플릿 메소드 패턴보다 유연하고 확장성이 뛰어나다. 오브젝트를 아예 둘로 분리하고 클래스 레벨에서는 인터페이스에만 의존하기 때문이다.
'공부 > 토비의 스프링 3.1' 카테고리의 다른 글
템플릿/콜백 패턴 (0) | 2019.03.06 |
---|---|
중첩 클래스의 종류 (0) | 2019.03.05 |
리소스 반환과 close() (0) | 2019.03.05 |
버그 테스트 방법 (0) | 2019.03.04 |
DI와 테스트 (0) | 2019.03.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크