📗 Computer Science/Design Pattern

📗[CS/DesignPattern] 02. 팩토리 패턴

혜덕hyeduck 2024. 5. 6. 19:28

팩토리 패턴

  • 팩토리 패턴(Factory Pattern)이란?
    • 객체 생성 부분을 떼어내 추상화한 패턴이며, 상속 관계에서 상위 클래스가 뼈대를 결정하고, 하위 클래스가 객체 생성에 관한 구체적인 구현 부분을 담당하는 패턴이다.
    • 장점 : 느슨한 결함 → 유연성 확보, 유지보수 수월
  • Java 코드로 SIngleton 구현하기
    • Coffe.java
abstract class Coffee{
    public abstract int getPrice();
}
  • Latte.java
public class Latte extends Coffee {
    private int price;

    public Latte(int price) {
        this.price = price;
    }

    @Override
    public int getPrice() {
        return this.price;
    }
}
​
  • Americano.java
public class Americano extends Coffee {
    private int price;

    public Americano(int price) {
        this.price = price;
    }

    @Override
    public int getPrice() {
        return this.price;
    }
}
​
  • CoffeFactory.java
public class CoffeFactory {
    public Coffee getCoffee(String type, int price) {
        
        if (type == null) return null;
        
        if ("Latte".equalsIgnoreCase(type)) return new Latte(price);
        else if ("Americano".equalsIgnoreCase(type)) return new Americano(price);
    }
}
​

equalsIgnoreCase → 대소문자 구분 안 하고 비교