cleanUrl: /posts/design-pattern-observer
이 내용은 Head First 의 옵저버 패턴 챕터를 읽고 작성한 글 입니다.
제가 작성한 코드는 저의 깃헙에서 확인할 수 있습니다!
요구사항
class WeatherData {
getTemperature();
getHumidity();
getPressure();
measurementsChanged();
}
WeatherData
클래스에 온도, 습도, 기압을 알아내기 위한 getter 메소드가 있다.measurementsChaged()
메소드가 호출된다.옵저버 패턴 → 출판사(subject) + 구독자(observer)
정의: 한 object 의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 갱신되는 방식으로 1:N 의존성을 정의한다.
신문사가 신문을 발행하고 구독자가 그 신문을 구독하는 프로세스와 비슷하다 → 구독, 구독 취소, 발행 등등
→ 느슨한 결합: 상호작용은 하는데 서로 잘 모르는 사이이다.