추상 팩토리 패턴
추상 팩토리란 여러 팩토리를 하나로 묶는 상위 팩토리를 말합니다. (자식 클래스를 갖는 추상 클래스를 말합니다).
2021.12.07 - [JAVA/JAVA] - Design Pattern 디자인 패턴 Factory Pattern 팩토리 패턴
추상 팩토리 패턴 구현 예시
스마트폰 객체를 생성하는 추상 팩토리인 스마트폰 Factory가 있습니다. 그리고 스마트폰 Factory를 상속받아 아이폰만 생성하는 아이폰 Factory와 갤럭시만 생성하는 갤럭시 Factory를 만들었습니다.
스마트폰 추상 팩토리
public abstract class 스마트폰Factory {
abstract 스마트폰 getSmartPhone(String name);
}
갤럭시 Factory
public class 갤럭시Factory extends 스마트폰Factory{
@Override
스마트폰 getSmartPhone(String name) {
if("Galaxy S22".equals(name)){
return new GalaxyS22();
}
if("Galaxy Ultra S22".equals(name)){
return new GalaxyUltraS22();
}
throw new IllegalArgumentException("갤럭시가 아닙니다.");
}
}
아이폰 Factory
public class 아이폰Factory extends 스마트폰Factory{
@Override
스마트폰 getSmartPhone(String name) {
if("iPhone 13".equals(name)){
return new iPhone13();
}
throw new IllegalArgumentException("아이폰이 아닙니다.");
}
}
스마트폰
public interface 스마트폰 {
String getName();
}
아이폰13
public class iPhone13 implements 스마트폰{
@Override
public String getName() {
return "iPhone13";
}
}
갤럭시 S22
public class GalaxyS22 implements 스마트폰{
@Override
public String getName() {
return "GalaxyS22";
}
}
갤럭시 울트라 S22
public class GalaxyUltraS22 implements 스마트폰{
@Override
public String getName() {
return "Galaxy Ultra S22";
}
}
참조
*https://www.tutorialspoint.com/design_pattern/abstract_factory_pattern.htm
'JAVA > DesignPattern' 카테고리의 다른 글
Design Pattern 디자인패턴 Adapter Pattern 어답터 패턴 (0) | 2021.12.16 |
---|---|
Design Pattern 디자인패턴 Prototype Pattern 프로토타입 패턴 (0) | 2021.12.15 |
Design Pattern 디자인 패턴 Builder Pattern 빌더 패턴 (0) | 2021.12.15 |
Design Pattern 디자인패턴 Singleton Pattern 싱글톤 패턴 (0) | 2021.12.14 |
Design Pattern 디자인 패턴 Factory Pattern 팩토리 패턴 (0) | 2021.12.07 |