디자인 패턴 Factory Pattern 개념과 예제
Factory Pattern이란?
▶객체 생성용 인터페이스는 서브클래스가 어떤클래스를 인스턴스화(객체 생성)할 지 결정할 수 있도록 합니다. 팩토리 메소드는 객체 생성을 서브 클래스에서 하도록 미룰 수 있게 해줍니다.
▶ 코드 요약: Store에서 계산기를 구매할 수 있습니다. 이때 계산기는 1 가지의 역할밖에 수행하지 못합니다. 사용자는 원하는 계산기를 구매합니다.
클래스 다이어그램과 코드를 확인하겠습니다.

1. Calculator interface
public interface Calculator { double execute(double n1, double n2); }
2. CalculatorSet class
public class CalculatorSet { public Calculator orderCalculator(String name){ if(name.equals("add")){ return new AddCalculator(); } else if(name.equals("minus")){ return new MinusCalculator(); } else if(name.equals("mul")){ return new MulCalculator(); } else{ return new DivCalculator(); } } }
3. AddCalculator class
public class AddCalculator implements Calculator { @Override public double execute(double n1, double n2) { return n1+n2; } }
4. MibusCalculator class
public class MinusCalculator implements Calculator{ @Override public double execute(double n1, double n2) { return n1-n2; } }
5. DivCalculator class
public class DivCalculator implements Calculator{ @Override public double execute(double n1, double n2) { return n1/n2; } }
6. MulCalculator class
public class MulCalculator implements Calculator{ @Override public double execute(double n1, double n2) { return n1*n2; } }
7. Main class
public class Main { public static void main(String[] args) { Store store = new Store(); store.order("add"); double result1 = store.execute(1, 2); System.out.println(result1); store.order("minus"); double result2 = store.execute(3, 5); System.out.println(result2); } } // 출력 결과 // 3.0 // -2.0
위와 같이 CalculatorSet에서 어떠한 객체를 인스턴스화 할 것인지 판단해서 반환하는 형태로 Factory Pattern이 완성됩니다.
다음에는 singleton Pattern을 알아보겠습니다. 감사합니다.
전체 코드는 아래에서 확인 가능합니다:)
https://github.com/rlaehdals/design-pattern
GitHub - rlaehdals/design-pattern
Contribute to rlaehdals/design-pattern development by creating an account on GitHub.
github.com
'Desing Pattern' 카테고리의 다른 글
디자인 패턴 DAO Pattern 개념과 예제 (0) | 2022.01.01 |
---|---|
디자인 패턴 (싱글톤 패턴) Singleton Pattern 개념과 예제 (0) | 2021.12.31 |
디자인 패턴 (데코레이터 패턴) Decorator Pattern 개념과 예제 (0) | 2021.12.30 |
디자인 패턴 observer pattern(옵저버 패턴) 개념과 예제 (0) | 2021.12.30 |
디자인 패턴 (전략 패턴) strategy pattern 개념과 예제 (0) | 2021.12.29 |
댓글
이 글 공유하기
다른 글
-
디자인 패턴 DAO Pattern 개념과 예제
디자인 패턴 DAO Pattern 개념과 예제
2022.01.01 -
디자인 패턴 (싱글톤 패턴) Singleton Pattern 개념과 예제
디자인 패턴 (싱글톤 패턴) Singleton Pattern 개념과 예제
2021.12.31 -
디자인 패턴 (데코레이터 패턴) Decorator Pattern 개념과 예제
디자인 패턴 (데코레이터 패턴) Decorator Pattern 개념과 예제
2021.12.30 -
디자인 패턴 observer pattern(옵저버 패턴) 개념과 예제
디자인 패턴 observer pattern(옵저버 패턴) 개념과 예제
2021.12.30
댓글을 사용할 수 없습니다.