추상 팩토리 패턴
Abstract Factory Pattern
(추상 팩토리 패턴)
객체 생성 패턴(Object Creational)
생산 제품군 전체를 마치 테마를 바꾸듯 간단하게 교체하기위해
공통 테마의 팩토리 메소드들을 가지는 객체를
주입할 수 있도록
추상적으로 정의한 것
이 추상 팩토리다
객체의 생성의 세부사항과 의존성을 다른객체로부터 보호하고
생성에 대한 결합도를 모듈 단위로 계층화 시키는게 가능해진다
Class diagram
예시
class ExampleClass {
private Factory factory;
public ExampleClass(Factory factory) {
this.factory = factory;
}
public void otherMethod() {
// food의 구현은 전달받은 Factory에 따라 달라진다
Food food = factory.getFood();
food.productMethod();
}
}
interface Food { ... }
interface Cloth { ... }
// 말 그대로 추상화된 팩토리
interface Factory {
Food getFood();
Cloth getCloth();
}
팩토리 메소드와의 차이
생산 제품군 전체를 마치 테마를 바꾸듯 간단하게 교체하기위해
공통 테마의 팩토리 메소드들을 가지는 객체를
주입할 수 있도록
추상적으로 정의한 것
이 추상 팩토리다
팩토리 메소드는 호출시에 적절한 객체를 반환하는 메소드
이고
추상 팩토리 외에도 다방면으로 활용되는 더 작은 개념이라고 볼 수 있다
댓글남기기