본문 바로가기

Design pattern3

데코레이터 패턴(decorator pattern) 정리 데코레이터 패턴1. 스타벅스초창기 스타벅스스타벅스 시스템 개선여전히 문제는 존재한다2. 데코레이터 패턴2.1 스타벅스 클래스 구성도2.2 소스코드2.2.1 추상 클래스2.2.2 음료 클래스2.2.3 첨가물 클래스2.2.4 주문 코드2.3 데코레이터 패턴 단점3. 자바 I/O와 데코레이터 패턴데코레이터 패턴비교적 배우기 쉬운 패턴상속을 남용하는 전형적인 예를 살펴보고, 실행중에 클래스를 꾸미는(데코레이션) 방법을 배워봅시다.데코레이터 패턴은 말 그대로 객체를 이렇게 저렇게 꾸미는 패턴입니다1. 스타벅스스타벅스의 커피는 메뉴도 다양하고 고객의 기호에 따라 메뉴를 커스터마이징(두유 변경, 샷 추가, 휘핑 추가, 스팀밀크 추가 등)을 할 수 있습니다.이런 스타벅스 커피 시스템을 코드로 구현해봅시다.초창기 스타벅.. 2020. 7. 6.
옵저버 패턴(observer pattern) 정리 옵저버 패턴1. 기상 모니터링 애플리케이션 개요2. 옵저버 패턴을 본격적으로 배워보자2.1 옵저버 패턴 클래스 다이어그램2.2 느슨한 결합에 대하여3. 다시 기상 스테이션 시스템을 구현해보자3.1 다이어그램3.2 인터페이스 소스 코드3.2.1 Subject3.2.2 Observer3.2.3 DisplayEelement3.3 구현 코드3.3.1 WeatherData 3.3.2 Display 항목3.3.3 Main 소스4. Java Observer4.1 자바 내장 옵저버 패턴 작동 방식4.2 Observer 객체 만드는 방법4.3 Observable에서 Observer 객체에게 데이터 전달 하는 방법4.4 Observer가 데이터를 전달 받는 방법4.5 setChanged() 메소드?4.6 자바 내장 옵저버.. 2020. 6. 17.
스트래티지 패턴(strategy pattern) 정리 스트래티지 패턴(strategy pattern) 이란?1. 일반 객체지향 기법으로 구현을 했을 때의 문제1-1. 간단한 오리 연못 시뮬레이션 게임을 만들어보자1-2. 요구사항의 변경이 생겼다.1-3. 그런데 심각한 문제가 발생했다. (문제1)1-4. Duck 클래스의 단점2. 인터페이스 활용2-1. 상속대신 인터페이스를 사용한다면?2-2 이 또한 문제다. (문제2)3. 문제 파악 하기3-1 행동 디자인4. 행동기반의 Duck 클래스4-1 MallardDuck4-2 동적인 Duck 클래스 5. 정리5-1. 이제 다시 스트래티지 패턴의 정의를 읽어보자. 스트래티지 패턴(strategy pattern) 이란?스트래티지 패턴에서는 알고리즘군 을 정의하고 각각을 캡슐화하여 교환해서 이용할 수 있도록 만든다.스트래.. 2020. 5. 20.