C/C++ 디자인 패턴 (14) — 커맨드(Command)
편집기의 "되돌리기", 작업을 백그라운드 스레드에 맡기기, 실행한 작업을 기록했다가 다시 재생하기는 겉보기에 다른 기능이지만 공통 전제가 있다. "무엇을 할지"가 함수 호출로 흘러가 버리지 않고 값으로 남아 있어야 한다는 것이다. 커맨드(Command)는…
편집기의 "되돌리기", 작업을 백그라운드 스레드에 맡기기, 실행한 작업을 기록했다가 다시 재생하기는 겉보기에 다른 기능이지만 공통 전제가 있다. "무엇을 할지"가 함수 호출로 흘러가 버리지 않고 값으로 남아 있어야 한다는 것이다. 커맨드(Command)는…
8편에서 만든 메뉴 시스템은 항목을 선택하면 command()가 불리는 데서 끝났다. 실제 프로그램에서는 "Save를 선택하면 문서를 저장한다"처럼 메뉴 항목과 애플리케이션의 동작을 연결해야 한다. 그런데 메뉴는 라이브러리 쪽 코드이고 문서는 애플리케이션 쪽…