대학원 일기

[Design Pattern] 추상 팩토리 패턴(Abstract Factory Pattern) 본문

Computer programming/Design patterns

[Design Pattern] 추상 팩토리 패턴(Abstract Factory Pattern)

대학원생(노예) 2022. 6. 17. 16:58

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

구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴
-> 클라이언트와 팩토리에서 생성되는 객체를 분리시킬 수 있다.

  • AbstractFactory: 개념적 제품에 대한 객체를 생성하는 연산으로 인터페이스를 정의
  • ConcreteFactory: 구체적인 제품에 대한 객체를 생성하는 연산을 구현
  • AbstractProduct: 개념적 제품 객체에 대한 인터페이스를 정의
  • ConcreteProduct: 구체적으로 팩토리가 생성할 객체를 정의하고, AbstractProduct가 정의하는 인터페이스를 구현
  • Client: AbstractFactory와 AbstractProduct 클래스에 선언된 인터페이스를 사용

장점

  • 구체적인 클래스를 분리한다. 
  • 제품군을 쉽게 대체할 수 있다. 

단점

  • 새로운 종류의 제품을 제공하기 어렵다. 
Comments