본문 바로가기

디자인패턴

Observer 패턴_기상스테이션

  • 정의
    • 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 갱신
    • 일대다(one-to-many)의 의존성 정의
    • 느슨한 결합(loose coupling)을 유지 
    • 유연성과 재사용성, 독립성 증가
  • 방식
    • push방식: 주제가 옵저버로 데이터를 전달
    • pull방식: 옵저버가 주제로부터 데이터를 당겨옴
  • 기상 스테이션 설계

전체 구조
Subject, Observer, DisplayElement 3가지의 인터페이스
WeatherData클래스
디스플레이 항목 구현
기상 스테이션 테스트 클래스
체감온도 디스플레이 항목 구현
평균/최대/최소 기온 디스플레이 클래스
기상예보 디스플레이 클래스
구현 클래스
컴파일 결과

 

git: https://github.com/Pearlmoon997/Design_Patterns/tree/master/src/Observer/Weather

 

GitHub - Pearlmoon997/Design_Patterns: Design_Patterns

Design_Patterns. Contribute to Pearlmoon997/Design_Patterns development by creating an account on GitHub.

github.com

참고문서: 헤드퍼스트 디자인패턴(개정판)

'디자인패턴' 카테고리의 다른 글

Abstract Factory _ 피자가게  (0) 2022.05.18
FactoryMethod _ 피자가게  (0) 2022.05.18
Strategy(전략) 패턴_연습  (0) 2022.05.16
Strategy(전략) 패턴  (0) 2022.05.15
디자인패턴  (0) 2022.05.15