CS/디자인패턴

[디자인패턴] 생성패턴) 추상 팩토리 패턴(Abstract Factory Pattern)

mabb 2023. 4. 8. 18:28
반응형

추상 팩토리 패턴 도식화

1. 추상 팩토리 패턴 (Abstract Factory Pattern)

: 객체 생성을 위한 디자인 패턴이다. 관련 객체들의 구상 클래스들을 지정하지 않고도 관련 객체들의 모음(나이키세트 or 아디다스세트 or 퓨마세트)을 생성할 수 있도록 하는 생성패턴이다. 직접 나이키러닝화,나이키조거팬츠,나이키바람막이를 모으지 않고, 추상팩토리를 나이키팩토리 객체로 사용하기만 하면 나이키 세트를 만들 수 있는 것이다.

2. 추상 팩토리 패턴을 왜 쓰는가?

구체적인 클래스, 위의 그림에서 예를 들면 '나이키러닝화','퓨마바람막이' 등에 의존하지 않고 객체 모음을 생성할 수 있다. 추상 팩토리를 어떤 팩토리 객체로 사용하느냐에 따라 제품세트를 손 쉽게 얻을 수 있다. 팩토리들 없이 직접 구체적인 클래스들에 의존하면서 조건에 따라 브랜드를 맞춰 세팅하는 것보다 추상 팩토리 패턴을 사용하는 것이 훨씬 효율적이다.

3. 추상 팩토리 패턴의 이해 흐름

1) 클라이언트는 '러닝화', '조거팬츠', '바람막이' 를 가져야 하는데 하나의 브랜드로 통일해서 가져야 한다.
2) 클라이언트는 추상 팩토리의 기능을 사용한다. 이 때 조건문 등에 따라 분기하여 추상 팩토리를 어떤 팩토리로 구체화 하여 사용할 지 결정한다.(나이키,아디다스,퓨마)
3) 팩토리가 구체화되면 해당 구체화 팩토리가 만드는 객체 세트를 가질 수 있다.
4) 나이키러닝화, 아디다스러닝화, 퓨마러닝화는 '러닝화' 를 구체화 한 것이다. 클라이언트는 구체적인 러닝화가 아닌 추상적인 '러닝화', '조거팬츠', '바람막이' 를 가지고 있고(선언) 각각의 제품은 선택하는 팩토리에 의해 해당 브랜드의 제품들로 초기화된다.
 
참고자료:

 

추상 팩토리 패턴

/ 디자인 패턴들 / 생성 패턴 추상 팩토리 패턴 다음 이름으로도 불립니다: Abstract Factory 의도 추상 팩토리는 관련 객체들의 구상 클래스들을 지정하지 않고도 관련 객체들의 모음을 생성할 수 있

refactoring.guru

 

 

추상 팩토리 패턴 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

반응형