본문 바로가기
GoF의 디자인 패턴

커맨드 패턴

by 아토로 2022. 3. 20.

요청을 캡슐화 하여 호출자(invoker)와 수신자(receiver)를 분리하는 패턴

 

요청을 처리하는 방법이 바뀌더라도, 호출자의 코드는 변경되지 않는다.

구현 방법

장단점

장점

  • 기존 코드를 변경하지 않고 새로운 커맨드를 만들 수 있다.
  • 수신자의 코드가 변경되어도 호출자의 코드는 변경되지 않는다.
  • 커맨드 객체를 로깅, DB에 저장, 네트워크로 전송 하는 등 다양한 방법으로 활용할 수도 있다.

단점

  • 코드가 복잡하고 클래스가 많아진다

실무 적용 사례

자바

  • Runnable
  • 람다
  • 메소드 레퍼런스

스프링

  • SimpleJdbcInsert
  • SimpleJdbcCall

예제 코드

https://github.com/jsyang-dev/study-designpattern/tree/master/src/main/java/me/study/designpattern/command

'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

댓글