기타 (12) 썸네일형 리스트형 [디자인패턴] Observer Pattern 1. 기상 모니터링 애플리케이션 개요 기상 모니터링 애플리케이션은 다음의 세 가지 요소로 이루어져 있고, 디스플레이 장비는 현재 기상 정보, 기상 통계, 기상 예보 항목을 표시한다. 기상 스테이션(실제 기상 정보를 수집하는 장비) WeatherData 객체(기상 스테이션으로부터 오는 데이터를 추적하는 객체) 사용자에게 현재 기상 정보를 보여주는 디스플레이 장비 WeatherData 객체는 온도, 습도, 기압을 반환하는 메소드와 기상 관측값이 갱신될 때마다 알려주기 위한 메소드로 구성되어 있다. measurementsChanged()를 현재 기상 정보, 기상 통계, 기상 예보의 3가지 디스플레이를 갱신할 수 있도록 구현해야 한다. 2. 기상 모니터링 임시 구현 public class WeatherData .. [디자인패턴] Strategy Pattern 1. 아래와 같은 Duck 클래스가 있을 때, 날아다니는 행동을 추가하려면 어떻게 해야할까? public abstract class Duck { public Duck() {} public abstract void display();// 모든 오리들의 모양이 다르기 때문에 추상 메소드로 선언 public void quack() {// 모든 오리들은 꽥꽥소리를 낼 수 있음 System.out.println("quack quack"); } public void swim() {// 모든 오리들은 헤엄을 칠 수 있음 System.out.println("swimming"); } } ☞ Duck 클래스에 fly() 메서드를 추가하게 되면, 일부 서브클래스에는 부적합한 행동임에도 모든 서브클래스가 상속받게 된다. 2... 이전 1 2 다음