1. 파사드 패턴이란?
- 소프트웨어의 다른 코드 부분에 대하여 간략화된 인터페이스를 제공
- 퍼사드 객체는 복잡한 소프트웨어 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시킴
2. 파사드 패턴의 예시
1. IPhone 클래스
public class IPhone {
public void powerOn() {
System.out.println("IPhone turn on");
}
}
2. Galaxy 클래스
public class Galaxy {
public void powerOn() {
System.out.println("Galaxy turn on");
}
}
3. PhoneFacade 클래스
public class PhoneFacade {
private IPhone iPhone;
private Galaxy galaxy;
public PhoneFacade() {
iPhone = new IPhone();
galaxy = new Galaxy();
}
public void turnOn() {
iPhone.powerOn();
Galaxy.powerOn();
}
}
4. Main 클래스
public class Main {
public static void main(String[] args) {
PhoneFacade phoneFacade = new PhoneFacade();
phoneFacade.turnOn();
}
}
// 출력
// IPhone turn on
// Galaxy turn on
PhoneFacade는 IPhone과 Galaxy를 캡슐화하여 turnOn() 메서드만 이용할 수 있고, 그 내부의 모습은 알 수 없다. 이 때, IPhone, Galaxy 객체를 생성하여 각자 powerOn() 메서드를 실행시키는 것이 아닌, PhoneFacade 클래스의 turnOn() 메서드를 통해 powerOn() 메서드를 실행시킨다.
'디자인 패턴 > 구조 패턴' 카테고리의 다른 글
데코레이터 패턴 (Decorator Pattern) (0) | 2021.08.29 |
---|---|
프록시 패턴 (Proxy Pattern) (0) | 2021.08.28 |
어댑터 패턴 (Adapter Pattern) (0) | 2021.08.26 |