cleanUrl: /posts/what-is-command-pattern
메소드 호출을 캡슐화 하여 계산의 각 과정부분들을 결정화 시킬 수 있다. 캡슐화된 method 호출을 로그 기록용으로 저장하거나 취소 기능을 구현하고 재사용 할 수 있다. 이 기능을 구현하면서 각 도메인의 핵심적인 로직을 몰라도 되는 변경에 닫혀있고, 확장에 열려있는 코드를 작성해보자.
이 컨텐츠는 Head First의 Design Pattern 책의 6번 챕터인 커맨트 패턴을 정리한 내용입니다
코드를 모두 입력해두면 컨텐츠 길이가 의미없이 길어질것 같아 Github 에 코드를 올려두었습니다
프로그래밍이 가능한 리모콘에 7개의 소켓이 있고, 각 소켓에 필요한 프로그램을 연결한다
각 프로그램을 통해 특정 기능을 on/off 할 수 있다.
이렇게 다양한 클래스가 있는데 어떻게 하나의 리모콘에 연결할 수 있을까?
고객 → 웨이트리스에게 주문 → 주문서 작성 → 주방장에게 주문 전달