Command Pattern(커맨드 패턴) 본문
매서드 및 작업을 객체로 캡슐화한 것을 커맨드 패턴 및 명령패턴이라고들 한다. 커맨드 패턴을 활용하면 작업로그를 저장하거나 작업취소등의 기능을 쉽게 구현할 수 있다.
커맨드 클래스에 실행 함수와 명령을 취소할 수 있는 순수가상함수 Undo를 정의한다.
다음으로 간단하게 위치 이동에 대한 커맨드를 구현해 보았다.
Undo에서는 Excute에서 실행되기 전의 상태를 저장한다.
다음으로는 커맨드를 관리하는 클래스가 필요한데 예제에서는 간단하게 벡터로 구현해 보았다.
(개인적으로는 deque으로 구현하면 좋을것같다.)
Comments