
interface로 오리마다 달라지는 부분( fly( ), quack( ) )을 만들고 Duck의 subtype이 이를 implement하게 되면 아래 코드와 같이 변경할 수 있었다.그리고 책의 질문은 다음과 같다.이러한 디자인은 어떻게 생각하냐?직접 디자인해서 구현해

첫 옵저버 패턴 구현 Subject(옵저버 등록, 삭제 관리 및 옵저버에게 필요한 데이터 제공) Observer(Subject의 데이터를 받아서 상태 업데이트) 의존 관계 어떻게 표현함? 의존 관계는 의존되는 쪽이 화살표의 끝이다. 즉, 다음과 같다. "Subj

스타버즈(ㅋㅋ) 커피 주문 시스템을 만드는 예시가 나온다. Beverage라는 추상 클래스를 만들고 우유, 시럽, 휘핑 등등 모든 음료에 각 첨가물을 더한 케이스를 음료 클래스를 상속해서 사용하고 있는 것이었다. 그래서 이런 아이디어가 나온다. "아니 ;; 첨가물을 b

음식 주문해보기 Command 패턴을 이해하기 위해 식당에 가서 음식을 주문한다고 생각해보자. "우리: 웨이터님 저희 이렇게 주문할게요!" "웨이터: 주문서를 보고는 ~렇게 주문하시는 거 맞으시죠?" "우리: 네!" "웨이터: 주방(요리사)에 주문서를 전달" "요리

오리와 칠면조 이야기 여기서 Client는 duckAdapter->quack()과 fly()부분이다. 그리고 Target 인터페이스는 Duck인데 왜냐하면 클라이언트가 호출한 quack과 fly메서드는 아래와 같이 Duck(Target) 인터페이스의 메서드기 때문이

커피와 홍차 이야기 커피랑 홍차를 만들 때는 꽤나 비슷한 구석이 있는데 이를 클래스 다이어그램으로 나타내보면 다음과 같다. 내가 잘못 생각한 게 있는데... 물 끓이기와 컵에 붓기는 커피랑 홍차 둘 다 같은 로직이기 때문에 인터페이스에서 순수 가상 함수로 정의하는게