디자인 패턴 [퍼사드 패턴] Facade Pattern 개념 예제
Facade Pattern이란?
▶ 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스 제공하여 서브시스템을 쉽게 사용이 가능합니다.
코드 요약
▶ People 객체의 Facade 객체는 Calculator와 Print 객체를 동시에 이용합니다. Facade 객체가 Calculator와 Print 객체를 서브시스템으로 캡슐화를 해놓아서 People 객체는 실행하면 Facade 객체가 두 class의 로직을 호출 해줍니다.
클래스 다이어그램
1. Calculator class
public class Calculator {
public double add(double n1, double n2){
return n1+n2;
}
}
2. Print class
public class Print {
public void print(double n){
System.out.println(n);
}
}
3. Facade class
public class Facade {
private Calculator calculator;
private Print print;
public Facade(Calculator calculator, Print print) {
this.calculator = calculator;
this.print = print;
}
public void execute(double n1, double n2){
double add = calculator.add(n1, n2);
print.print(add);
}
}
4. People class
public class People {
private Facade facade;
public People(Facade facade) {
this.facade = facade;
}
public void execute(double n1, double n2){
facade.execute(n1, n2);
}
}
5. Main class
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator();
Print print = new Print();
Facade facade = new Facade(calculator,print);
People people = new People(facade);
facade.execute(1,2);
}
}
이처럼 여러가지의 객체를 통합적으로 사용하는 Facade 객체를 사용하여 서브시스템을 사용하는 것이 Facade Pattern입니다. 읽어주셔서 감사합니다.
전체 코드는 아래에서 확인 가능합니다:)
https://github.com/rlaehdals/design-pattern
'Desing Pattern' 카테고리의 다른 글
디자인 패턴 [스테이트 패턴] State Pattern 개념 예제 (0) | 2022.01.03 |
---|---|
디자인 패턴 [커맨드 패턴] Command Pattern 개념 예제 (0) | 2022.01.03 |
디자인 패턴 [어댑터 패턴] Adapter Pattern 개념 예제 (0) | 2022.01.03 |
디자인 패턴 DAO Pattern 개념과 예제 (0) | 2022.01.01 |
디자인 패턴 (싱글톤 패턴) Singleton Pattern 개념과 예제 (0) | 2021.12.31 |
댓글
이 글 공유하기
다른 글
-
디자인 패턴 [스테이트 패턴] State Pattern 개념 예제
디자인 패턴 [스테이트 패턴] State Pattern 개념 예제
2022.01.03 -
디자인 패턴 [커맨드 패턴] Command Pattern 개념 예제
디자인 패턴 [커맨드 패턴] Command Pattern 개념 예제
2022.01.03 -
디자인 패턴 [어댑터 패턴] Adapter Pattern 개념 예제
디자인 패턴 [어댑터 패턴] Adapter Pattern 개념 예제
2022.01.03 -
디자인 패턴 DAO Pattern 개념과 예제
디자인 패턴 DAO Pattern 개념과 예제
2022.01.01