반응형
커맨드 패턴
커맨드 패턴의 정의
커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있습니다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업취소 기능도 지원합니다.
커맨드 패턴을 사용하면 어떤 작업을 요청한 쪽하고 그 작업을 처리한 쪽을 분리시킬 수 있습니다.
커맨드 패턴 다이어그램
클라이언트는 커맨드 객체를 생성해야하고 커맨드 객체는 리시버에 전달할 일련의 행동으로 구성됩니다. 커맨드 객체에는 행동과 리시버에 대한 정보가 같이 들어 있습니다.
커맨드 객체에서 제공하는 메소드는 execute()하나 뿐입니다. 이 메소드에는 행동을 캡슐화하여, 리시버에 있는 특정 행동을 처리하기 위한 메소드를 호출하기 위한 메소드 입니다.
클라이언트에서는 인보커 객체의 setCommand()메소드를 호출하는데 이때 커맨드 객체를 넘겨줍니다. 그리고 인보커에서 커맨드 객체의 execute()메소드를 호출하면 리시버에 있는 특정 행동을 하는 메소드가 호출됩니다.
인보커 로딩
- 클라이언트에서 커맨드 객체 생성
- setCommand()를 호출하여 인보커에 커맨드 객체를 저장
- 나중에 클라이언트에서 인보커한테 그 명령을 실행시켜 달라는요청을 함
클래스 다이어그램
반응형
'프로그램 > 자바공부' 카테고리의 다른 글
추상 팩토리 (1) | 2011.06.03 |
---|---|
인스턴스메소드, 클래스 메소드 / SAX 예외처리, DOM 예외처리/ Uri, Url 차이 (0) | 2011.06.01 |
cfc (0) | 2011.05.18 |