SpringFramework | SpringBoot
템플릿 메소드 패턴과 팩토리 메소드 패턴의 차이점
Lcoding
2023. 12. 6. 22:29
반응형
템플릿 메소드 패턴과 팩토리 메소드 패턴의 차이점을 표로 알아보겠습니다.
| 종류 | 구조 패턴 | 생성 패턴 |
| 목적 | 알고리즘의 구조를 정의하고 일부 단계를 서브 클래스에서 재정의하기 위함 | 객체 생성을 위한 인터페이스를 제공하고 하위 클래스에서 객체를 생성하기 위함 |
| 주요 기능 | 공통된 알고리즘의 구조를 정의하고 하위 클래스에서 일부 단계를 구현할 수 있도록 함 | 객체 생성에 대한 인터페이스를 제공하고, 실제 객체 생성은 하위 클래스에서 수행 |
| 역할 분담 | 상위 클래스에서 알고리즘의 구조를 정의하고 일부 단계를 구현, 하위 클래스에서 오버라이딩 | 상위 클래스에서 인터페이스를 정의하고, 하위 클래스에서 실제 객체를 생성 |
| 사용 시점 | 동일한 알고리즘 구조를 가진 여러 클래스들 간의 중복을 제거할 때 사용 | 객체 생성 프로세스를 캡슐화하고, 다양한 하위 클래스에서 객체 생성 로직을 다르게 구현해야 할 때 사용 |
종합 -
위의 표의 내용으로 보면, 템플릿 메소드 패턴은 알고리즘의 구조화에 중점을 둔 반면, 팩토리 메소드 패턴은 객체 생성을 다양한 하위 클래스에 위임하고자 할 때 사용됩니다.
반응형