[패캠강의] 팩토리 메서드 패턴
2022. 1. 1. 21:18ㆍ디자인 패턴
728x90
Factory Method Pattern
하위 클래스에게 위임하는 패턴 중 하나입니다.
팩토리를 하나 두고, 들어오는 매개 변수에 따라서든 Map<>에 해당되는 keyword에 따라서든 인스턴스를 다르게 반환해줄 수 있는 패턴입니다.
팩토리에서 조건이나 인스턴스 관리를 맡아하면 하위 클래스는 변경에 대처할 부분이 적어지는 장점이 있습니다.
JDK에서 사용되는 팩토리 메서드는 getInstance()가 java.util.Calendar, NumberFormat, ResourceBundle에서 사용되고 있습니다.
레퍼 클래스 Integer, Boolean etc 들에서 value들을 측정하기 위해 valueOf() 메서드를 사용할때도 팩토리 메서드 패턴을 사용합니다.
public class Calendar {
public static Calendar getInstance(TimeZone zone) {
return createCalendar(zone, Locale.getDefault(Locale.Category.FORMAT));
}
private static Calendar createCalendar(TimeZone zone, Locale aLocale) {
if (TimeZone.getTimeZone("1").equals(zone)) {
return new OneCalendar();
}
return new Calendar();
}
}
참고자료
'디자인 패턴' 카테고리의 다른 글
[SOLID] 리스코프 치환 원칙(Liskov substitution principle) (0) | 2022.05.25 |
---|---|
[SOLID] 개방 폐쇄 원칙(Open-closed principle) (0) | 2022.05.25 |
[패캠강의] 빌더패턴 (0) | 2022.01.15 |
[패캠강의] 프로토 타입 패턴 (0) | 2022.01.12 |
[패캠강의] 1장_객체지향의 설계 (0) | 2021.12.31 |