-
[GoF] 팩토리 메서드 패턴(Factory Method Pattern)Gof Design Pattern 2021. 12. 5. 20:03
팩토리 메서드 패턴(Factory Method Pattern)
팩토리 메서드 패턴이란?
인스턴스 생성을 하위 클래스로 분리하도록 위임하는 패턴이다. 인스턴스를 생성하기 위한 인터페이스를 정의하고자 하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정을 하위 클래스에서 결정하도록 할 수 있습니다.
(비유하자면 고객이 자량 구매를 요청 했을 때, 공장에서 요청에 맞게 차량을 생산하는 것과 같다.)
팩토리 메서드 패턴 왜 사용할까?
인스턴스를 생성할 때 관련된 동일한 메서드는 상위 클래스에서 처리하여 공통처리되도록 구현이 가능하고, 나머지 상황에 따른 각각 일어날 수 있는 인스턴스에 대한 생성을 하위 클래스에게 처리할 수 있습니다.
팩토리 메서드 패턴을 사용하게 되면
- 하위 클래스에서 상황에 따라 다양한 인스턴스를 생성할 수 있다.
클래스 다이어그램
객체 협력
- Product 팩토리 메소드가 생성하는 객체의 인터페이스를 정의하는 abstract 클래스
- ConcreteProduct Product 클래스에 정의된 인터페이스를 실제로 구현한다.
- Creator Product 타입의 객체를 반환하는 팩토리 메소드를 선언한다. Creator 클래스는 팩토리 메소드를 기본적으로 구현하는데, 이 구현에서는 ConcreateProduct 객체를 반환한다.
- ConcreteCreator ConcreteProduct 의 인스턴스를 반환하기 위해 팩토리 메소드를 재정의 한다.
코드보기 Click!
'Gof Design Pattern' 카테고리의 다른 글
[GoF]브릿지 패턴(Bridge Pattern) (0) 2021.12.13 [GoF]전략 패턴(Strategy) (0) 2021.12.10 [ GoF] 템플릿 메서드 패턴(Template Method Pattern) (0) 2021.12.04 [GoF] 빌더 패턴(Builder Pattern) (0) 2021.12.03 [GoF] 추상 팩토리 , Abstract Factory (0) 2021.09.06