16. 3 디자인
명령 패턴에 대한 설명을 위한 예제 프로그램은 사진 관리자에 관한 소재를 대상으로 하겠습니다.
사용자와 상호작용을 하는 UIPart는 클라이언트 역할을 하며 사진을 추가하거나 사진의 정보를 간단히 보여달라는 명령 혹은 상세히 보여달라는 명령을 요청하는 주체입니다. PictureManager는 UIPart에서 전달된 명령에 따라 파일을 보관하고 보여주는 등의 작업을 수행합니다.
명령 패턴으로 예제 프로그램을 작성할 것이기 때문에 PictureManager에서 수행할 추상적인 행위와 구체적인 행위는 분리하였습니다. 수행할 추상작인 행위에 대한 형식 정의는 IExecute인터페이스에 명령을 수행할 수 있는 Execute 메서드에 대한 약속을 하였습니다. 수행할 구체적인 행위들은 IExecute 인터페이스를 구현약속을 하고 사진의 정보를 보여주는 ViewPicture와 사진의 정보를 자세히 보여주는 ViewVerifyPicture가 있습니다.
UIPart에서는 구체적인 행위를 생성하여 PictureManager에게 전달하여 관리되는 Picture 개체의 정보를 보여주는 등의 작업을 수행합니다.