2009. 9. 18. 14:54
Programming/Design Pattern
커맨드 패턴을 이용하면 요구사항을 객체로 캡슐화할 수 있으며, 매개변수를 써서 여러가지 다른 요구 사항을 집어 넣을 수도 있다.
또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업취소 기능도 지원 한다.
활용성
Command 객체는 액션이 객체내에서 발생했을때 호출되는 Execute() 메소드를 가지고 있다. 요구되는 액션은 Command 객체를 상속받아 각각의 맞는 Execute() 메소드를 정의한다.
그러면 우리는 요구되는 엑션을 수행하는 각각의 객체에 대한 Execute 메소드를 제공할 수 있어, 그 것이 속해 있는 객체내에서 무엇을 할 것인가에 대한 정보를 유지할 수 있다.
Command 패턴의 중요한 목적은 프로그램을 유지하고 사용자 인터페이스 객체들을 완전히 분리하는 것이고 다른 객체들의 작업에 대해 알 필요가 없다.
사용자 인터페이스는 명령을 받고 Command 객체에게 어떤 종류의 의무든지 알려줄 수가 있다. 사용자 인터페이스는 어떤일을 해야할 지 알려고 하지 않아도 되고 알 필요도 없다.
public void actionPerformed(ActionEvent e) { Command cmd = (Command)e.getSource(); cmd.Execute();}
[커맨드 패턴의 잇점을 정리하면...]
1. 행동의 객체 취급
2. 매크로 커맨드
3. 큐잉
4. 로깅
5. undo
- 이 종 화 (ingenuity.egloos.com) -