티스토리 뷰

knowledge/pattern

[Pattern] Factory Pattern

글을 쓰는 개발자 2022. 9. 10. 11:32
반응형

Factory Method Pattern

객체를 생성할 때 필요한 인터페이스를 만든다. 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정. 팩토리 메소드 패턴을 사용하면 클래스 인스턴스 만드는 일을 서브클래스에게 맡긴다.

 

 

여기서 '맡긴다'라는 표현을 스는 이유는 실행 중에 서브클래스에서 어떤 클래스의 인스턴스를 만들지를 결정해서가 아니라, 생산자 클래스가 실제 생산될 제품을 전혀 모르는 상태로 만들어지기 때문

 

Abstract Factory Pattern

구상 클래스에 의존하지 않고도 서로 연관되거나 의존적인 객체로 이루어진 제품군을 생산하는 인터페이스를 제공

구상 클래스는 서브클래스에서 만든다.

 

 

Client - CustomValidatorBean

클라이언트를 만들 때는 추상 팩토리를 바탕으로 만든다. 실제 팩토리는 실행 시에 결정

 

Product - ValidatorContext, MessageInterpolator

각 구상 팩토리에서 필요한 제품을 모두 만들 수 있다.

 

AbstractFactory - ValidatorFactory

모든 구상 팩토리에서 구현해야 하는 인터페이스. 제품을 생산할 때 일련의 메소드가 정의되어 있다.

 

ConcreteFactory - LocaleValidatorFactory ...

서로 다른 제품군을 구현. 클라이언트에서 제품이 필요하면 이 팩토리 가운데 적당한 걸 골라서 쓰면 되기에 제품 객체의 인스턴스를 직접 만든다.

반응형

'knowledge > pattern' 카테고리의 다른 글

[Pattern] Decorator Pattern  (0) 2022.09.10
[Pattern] Observer Pattern  (0) 2022.08.27
[Pattern] Strategy Pattern  (0) 2022.08.10
[Pattern] Facade Pattern  (0) 2021.12.12
[Pattern] Composite Pattern에 대하여  (0) 2021.11.29
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함