런타임노트

[헤드퍼스트 디자인패턴] 18일차. 240-256pg 본문

책책책 책을 읽읍시다‼ ver.개발/[ 헤드퍼스트 디자인패턴 ]

[헤드퍼스트 디자인패턴] 18일차. 240-256pg

D269 2023. 5. 17. 13:13
728x90

18일차

헤드퍼스트 디자인패턴 [3주차_토요일]

240-256pg

요약

CHAPTER 06. 호출 캡슐화하기 (feat. 커맨드 패턴)

메소드 호출을 캡슐화 한다.

 

[ 커맨트 패턴 정의 ]

  • 요청 내역을 객체로 캡술화해서 객체를 서로 다른 요청 내역에 따라 매개변수화할 수 있다. → 요청을 큐에 저장하거나 로그로 기록하거나 작업취소 기능을 사용할 수 있다.
  • 명령으로 객체를 매개변수화

 

[ NoCommand 객체 ]

  • 일종의 Null Object
  • 딱히 리턴할 객체도 없고 클라이언트가 null을 처리하지 않게 하고 싶을 때 활용

 

[ 람다 표현식으로 고치기 ]

  • 구상 커맨드 객체를 람다 표현식으로 바꾸면 구상 커맨드 클래스를 모두 지워도 된다.
  • 이 방법은 커맨드 인터페이스에 추상 메소드가 하나뿐일 때만 사용할 수 있다.

 

[ 작업취소 기능(UNDO) 추가 ]

  • execute() 메소드에서 했던 작업과 정반대의 작업 처리하기.

발췌

💡 [ 커맨트 패턴 정의 ]
요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 매개변수화할 수 있다. → 요청을 큐에 저장하거나 로그로 기록하거나 작업취소 기능을 사용할 수 있다. 
728x90
반응형