Read Book/헤드퍼스트 디자인 패턴

Read Book/헤드퍼스트 디자인 패턴

2장. 옵저버 패턴

예제 요구사항 기상 관측값이 갱신될 때마다, 디스플레이 요소 3가지(현재 조건 디스플레이, 기상 통계 디스플레이, 기상 예보 디스플레이)를 업데이트해줘야함 // 구체적인 구현 -> 확장에 유연하지 못한 코드 public class WeatherData { public void measurementsChanged() { float temp = getTemperature(); float humidity = getHumidity(); float pressure = getPressure(); } // 바뀔 수 있는 부분 -> 캡슐화 필요, 디스플레이 항목과 데이터 주고받는 관계에서 공통 인터페이스 currentConditionsDisplay.update(temp, humidity, pressure); stati..

Read Book/헤드퍼스트 디자인 패턴

1장. 디자인 패턴 소개와 전략 패턴

책에서는 Duck 클래스 내 quack(), fly() 메서드와 관련된 예시가 나오고, Duck 클래스를 활용한 여러 오리 클래스를 보여주고 있다. 이때 상속을 사용하게 되면 구체/서브 클래스의 구현에 의존하게 되어, 코드를 재사용한다는 점에서는 유용하지만, 변경에 유연하지 못하게 되면서 유지보수를 하기 위해서는 좋지 않게 된다. 이러한 상속의 문제를 해결하기 위해서 인터페이스를 사용할 수 있다. 디자인 원칙 1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. 캡슐화나중에 바뀌지 않는 부분에는 영향을 주지 않고 기능을 고치거나 확장할 수 있음 2. 구현보다는 인터페이스에 맞춰서 프로그래밍한다. Duck 클래스에서 달라지는 부분을 구현하였던 quack() 과 fly() 대신, ..

nowwater
'Read Book/헤드퍼스트 디자인 패턴' 카테고리의 글 목록 (3 Page)