
OOP/Design Pattern
13. 커맨드(Command) 패턴
커맨드(Command) 패턴: 행위패턴 요청에 대한 모든 정보가 포함된 독립실행형 객체로 변환하는 디자인 패턴. 쉽게 말해 Client가 보낸 요청을 객체로 캡슐화한다는 의미이다. 이 변환은 다양한 요청들이 있는 메서드들을 인수화할 수 있도록 하며, 요청의 실행을 지연 또는 대기열에 넣을 수 있도록 하고, 또 실행 취소할 수 있는 작업을 지원할 수 있다. 어떤 객체(A)에서 다른 객체(B)의 메서드를 실행하려면 그 객체(B)를 참조하고 있어야 하는 의존성이 발생한다. 그러나 커맨드 패턴을 적용하면 의존성을 제거할 수 있다. 또한 기능이 수정되거나 변경이 일어날 때 A 클래스 코드를 수정없이 기능에 대한 클래스를 정의하면 되므로 시스템이 확장성이 있으면서 유연해진다. 발송자(Invoker) : 요청들을 시..