생성 패턴
패턴 | 설명 | 예시 |
싱글톤 (Singleton) | 인스턴스를 하나만 생성 | DB 커넥션 풀, 설정 객체 등 |
팩토리 (Factory Method) | 객체 생성을 서브 클래스에 위임 | CarFactory.create("KIA") |
빌더 (Builder) | 복잡한 객체를 단계적으로 생성 | User.builder().name().email()...build() |
구조 패턴
패턴 | 설명 | 예시 |
어댑터 | 인터페이스 호환 | LegacyUser → NewUser 변환기 |
프록시 | 접근 제어/지연 로딩 | Spring AOP, LazyLoad |
데코레이터 | 기능 확장 | 필터 체인, 커피에 시럽 추가 |
행위 패턴
패턴 | 설명 | 예시 |
전략 패턴 | 알고리즘 교체 가능 | DiscountStrategy 인터페이스 |
옵저버 | 상태 변경 시 알림 | 이벤트 리스너, 알림 시스템 |
템플릿 메서드 | 공통 알고리즘 구조 정의 후 세부 구현 위임 | AbstractFileParser 클래스 |