스프링과 디자인 패턴
참조, 요약: 프로 스프링 2.5
인터페이스 기반 프로그래밍
생성 패턴
- Singleton: BeanFactory
- Factory
- Builder: BeanDefinitionBuilder
- Prototype: 스프링 없이 만들려면 별도의 추상 클래스 만들고 makeCopy() 같은 매서드 필요해
구조 패턴
- Proxy: 스프링 AOP
- Adapter: MessageListenerAdapter, MessageListenerAdapter102(어댑터), MessageListener
- Wrapper와 Decorator: DisplayTag
- Facade
행동 패턴
- Observer: ApplicationListener
- Strategy
템플릿 매서드
- JdbcTemplate, HibernateTemplate, HibernateCallback, ...
흠~ 여기서 좀 걸리는건 템플릿 매서드 패턴의 예로 든 JdbcTemplate 및 기타 Template 들인데요. 빨간책에서는 템플릿 매서드 패턴으로 XXSqlQuery 클래스들을 꼽고 있고 XXTemplate들은 Stategy 패턴의 일종인 콜백이라고 하고 있는데 좀 혼란을 주네요. @_@