
[Design Pattern] 8. Facade Pattern
진짜 ‘패턴’이라는 인지 없이 매일매일 쓰던 걸 패턴이라는 이름으로 배우게 되었을때는 이딴것도 패턴이야? 라는 생각이 들었다. 지금 생각은.. 패턴 자체가 좋은 객체 구조의 정형화된 이름 정도일 뿐이니까 쉽다고 무시하는 건 웃긴 일이지 ㅋㅋ
아무튼 이번에 정리할 패턴은 퍼사드 패턴.
- 어떤 클래스에서 제공하는 일련의 인터페이스에 대한 통합된 인터페이스를 제공
즉, 필요에 따른 흐름을 인터페이스로 묶어둔 거다.
장점 1. 같은 행동의 재현이 편해진다.
장점 2. 가독률이 오른다.
다음은 예제!
class Battle{
public:
void attack(){
cout<<"attack"<<endl;
}
void defence(){
cout<<"defence"<<endl;
}
void move(){
cout<<"move"<<endl;
}
// 퍼사드 패턴을 이용한 메소드
void autoBattle(){
attack();
move();
move();
defence();
attack();
}
};
int main()
{
Battle b;
b.autoBattle();
return 0;
}