본문 바로가기

Programming/Design Pattern

Factory Pattern

0. 개요

 1) 강의에서 배운 패턴중에 개인적으로 이해하기도 어렵고 잘 와닿지 않은 패턴이었다. 이 패턴을 공부하려는 분들은

    이론적인 내용보다는 간단한 예제라도 코드를 통해 학습하는게 더 좋을 것 같다. 나는 음식 프랜차이즈 개념을 통해

    이해하는게 좋았다.

 

1. 정의

 1) 객체 생성용 인터페이스를 정의한다.

 2) 서브클래스가 어떤 객체를 생성할 지 결정하도록 한다. 

 

2. 문제

 1) 필요한 클래스들을 모두 구현하고 클라이언트에서 new를 통해서 생성하는 것은 비효율적이다.

 2) 클래스가 많아지거나 변경되면 클라이언트 측 변경이 많아짐

 

3. 해결방안

 1) 객체를 생성하는 클래스들을 캡슐화하여 사용한다.

 2) 클라이언트는 캡슐화된 인터페이스를 사용하여 목적에 맞는 객체를 생성한다.

 

4. 사용 예제

 1) 피자 프랜차이즈 기업 : 포장이나 결제 등은 같지만, 피자 토핑이라던지 도우 같은 것은 나라별, 지역별로 다르다.

따라서 클라이언트는 팩토리 메소드를 통하여 피자 객체를 받고, 실제 객체를 생성하는 클래스는 다른 객체로 미룬다.

 

Factory Method Pattern의 Class Diagram

 

'Programming > Design Pattern' 카테고리의 다른 글

Command Pattern  (0) 2019.12.31
Singleton Pattern  (0) 2019.12.30
Decorator Pattern 과제  (0) 2019.12.27
Decorator Pattern  (0) 2019.12.27
Observer Pattern 과제  (0) 2019.12.27