[디자인 패턴] 커맨드 패턴, 팩토리 메서드 패턴, 상태 패턴
커맨드 패턴 세 줄 개념 실행 기능 단위로 캡슐화 함으로써 여러 기능을 실행할 수 있는 재사용성 높은 클래스 설계 기능 자체를 캡슐화 하기 때문에 Invoker와 Reciver간의 의존성 자체를 제거(기능 자체의 세부구현 변경이 Invoker와 Reciver의 수정 없이 이뤄질 수 있음) 기능 자체를 다루는 로직이 필요할 때 사용(되돌리기, 히스토리 기록 등) 유용한 사례 실행 취소가 가능한 명령들을 다양하게 다뤄야 하는 텍스트 에디터 보상 트랜잭션 공유 리소스를 바탕으로 병렬 처리를 원할 때(ex. 커맨드 단위로 멀티 스레드에서 동작) 느낀 점 처음에 커맨드 패턴을 코드상에서 봤을 때 마치 side effect를 적극적으로 사용하는 패턴으로 보였음 excute()의 반환 타입이 실질적인 응답 데이터를 ..
2023.05.28