요청을 캡슐화 하여 호출자(invoker)와 수신자(receiver)를 분리하는 패턴
요청을 처리하는 방법이 바뀌더라도, 호출자의 코드는 변경되지 않는다.
구현 방법
장단점
장점
- 기존 코드를 변경하지 않고 새로운 커맨드를 만들 수 있다.
- 수신자의 코드가 변경되어도 호출자의 코드는 변경되지 않는다.
- 커맨드 객체를 로깅, DB에 저장, 네트워크로 전송 하는 등 다양한 방법으로 활용할 수도 있다.
단점
- 코드가 복잡하고 클래스가 많아진다
실무 적용 사례
자바
- Runnable
- 람다
- 메소드 레퍼런스
스프링
- SimpleJdbcInsert
- SimpleJdbcCall
예제 코드
'GoF의 디자인 패턴' 카테고리의 다른 글
책임 연쇄 패턴 (0) | 2022.03.09 |
---|---|
프록시(Proxy) 패턴 (0) | 2022.02.14 |
플라이웨이트(Flyweight) 패턴 (0) | 2022.02.10 |
데코레이터(Decorator) 패턴 (0) | 2022.02.01 |
브릿지(Bridge) 패턴 (0) | 2022.01.29 |
댓글