2006/04/28 09:40 Developer
Command 패턴
장점
- 디자인 로직이 간단해진다
- 확장성이 좋아진다
- Undo를 쉽게 구현할 수 있다.
- Command 수행을 다른 thread 또는 다른 machine에서 수행할 수 있습니다.
- EJB와 이를 사용하는 클라이언트를 분리합니다.
- Deploy가 더 쉽게 만들어 줍니다. EJB인터페이스는 변경시키지 않고, command만 변경할수 있습니다.
- 한번의 서버 호출로 실행됩니다.(session facade역학 수행)
단점
- 객체를 사용하고, 폐기하는데 오버헤드가 있습니다.
- EJB가 아니고, POJO이기 때문에 EJB컨테이너에서 제공하는 보안기능을 사용할 수가 없습니다.선언적 보안정의가 불가능합니다.
- 마찬가지로 command는 다양한 에러처리 로직을 갖지 못합니다. 따라서 에러처리 로직이 복잡해 집니다. 클라이언트에서는 직접 command객체의 에러를 발견해야 합니다.
- 대형 프로젝트의 경우 command 개수가 많아서 관리가 어렵습니다. 또는 request들이 한정적으로 정해진 경우에는 필요없습니다.
- Command Receiver는 구조상 EJB들과 강하게 커플됩니다.
TAG pattern