Next:
Advance Terminal
, Previous:
Scenario
, Up:
Index
Façade
금융 거래 시스템에서 콘솔이 퍼사드에 해당한다.
(콘솔 내부에 많은 수의 서로 다른 객체들이 동작한다.)
struct
Console
{
vector
<
Viewport
*>
viewports
;
Size
charSize
,
gridSize
;
// ...
}
;
//
퍼
사
드
는
최
대
한
단
순
한
API
를
제
공
Console
::
Console
(
bool
fullscreen
,
int
char_width
,
int
char_height
,
int
width
,
int
height
,
optional
<
Size
>
client_size
)
{
//
버
퍼
와
뷰
포
트
를
적
절
히
viewports
에
매
핑
//
이
미
지
텍
스
처
생
성
//
전
체
화
면
모
드
에
맞
는
그
리
드
크
기
계
산
}
//
혹
은
모
든
파
라
미
터
를
객
체
하
나
에
묶
어
서
전
달
Console
::
Console
(
const
ConsoleCreationParameters
&
ccp
)
{
// ...
}
struct
ConsoleCreationParameters
{
optional
<
Size
>
client_size
;
int
character_width
{
10
}
;
int
character_height
{
14
}
;
int
width
{
20
}
;
int
height
{
30
}
;
bool
fullscreen
{
false
}
;
bool
create_default_view_and_buffer
{
true
}
;
}
;
퍼사드 디자인 패턴은 하나 이상의 복잡한 서브 시스템 앞에 단순한 인터페이스를 두기 위한 방법이다.
(다수의 버퍼와 다수의 뷰포트가 연동되는 복잡한 콘솔을 편리하고 직관적인 API로 이용