◈ Command Pattern 사전적 의미
- 명령
- 명령어

 

◈ Command Pattern 정의

서로 다른 요청을 객체화하여 클라이언트에게 파라미터로 넘겨줄 수 있도록 하는 패턴

◈ 이런 상황이 있다고 가정해보자

 

 

동물원 관장(클라이언트)이 동물원 관리를 하려고 하는데, 직원한테 흑염소, 당나귀, 코끼리 우리 청소 좀 하고 흑염소, 당나귀, 코끼리 밥좀 챙겨줘 라고 세부적인 지시를 내린다면 관장님은 매번 피곤할 것이다. 동물 종류가 늘어나면... 관장님은 쌍코피 터짐.....

동물원 관장은 내부적인! 세부적인! 내용을 알필요 없이 그저 직원에게 명령을 내리면 된다. "동물 우리 청소하고!! 밥 좀 챙겨줘!" 라고 말이다.

 

◈ Command Pattern 패턴을 사용하지 않은 경우

 

관장님(사용자)가 원하는 작업을 수행하기 위해 내부적인 부분까지 모두 알고 있어야하고, 매번 번거롭게 하나하나 명령 내려줘야하기 때문에 번거롭다!

 

◈ Command Pattern 패턴을 사용한 경우

[C++로 만들어 본 예제 소스 코드 ]

[소스코드 파일 첨부함]

main.cpp

 

관장님(사용자)을 직원을 통해 명령을 내리게 되는데, 원하는 각각의 명령을 인자값으로 명령만 해주면 되기 때문에 편리하다. 무엇보다 관장님 입장에서는 그저- 원하는 명령만 내려주면 되는 것! 즉, 내부적인 부분에 대해서 몰라도 되기 때문에 유용한 패턴이다.  

 

Posted by miniature88
,