디자인패턴 Observer Pattern

황제낙엽 2007.04.05 23:42 조회 수 : 298 추천:108

옵저버 패턴의 시나리오는 다음과 같다.

1. WeatherData 클래스에는 세 가지 측정값(온도, 습도, 기압)을 알아내기 위한 게터 메소드가 있다.
2. 새로운 기상 측정 데이터가 나올 때마다 measurementsChanged() 메소드가 호출된다. (이 메소드가 어떤 원리로 호출되는지는 지금 알지도 못하고, 꼭 알아야 하는 것도 아니다.
    이 메소드가 어떤 식으로든 호출 된다는 것 자체가 중요할 뿐이다.)
3. 기상 데이터를 사용하는 세 개의 디스플레이 항목을 구현해야 한다.
    하나는 현재 조건을 표시하는 것이고, 다른 하나는 기상 통계를 표시하는 것이고, 나머지 하나는 기상 예보를 표시하는 것이다.
    WeatherData에서 새로운 측정값이 들어올 때마다 디스플레이를 갱신해야 한다.
4. 시스템이 확장 가능해야 한다.
    다른 개발자들이 별도의 디스플레이 항목을 만들 수 있도록 해야 하고 사용자들이 애플리케이션에 마음대로 디스플레이 항목을 추가/제거할 수 있도록 해야 한다.
    현재 상황에서는 세 가지 기본 디스플레이 형식(현재 조건, 통계, 예보)에 대해서만 알고 있다.

번호 제목 글쓴이 날짜 조회 수
64 [ChatGPT] 소프트웨어 품질 관리에서 필요로 하는 소양 황제낙엽 2025.05.02 242
63 [Selenium] 크롬 브라우저 실행 화면을 출력하거나 감추는 방법 황제낙엽 2024.05.05 377
62 [Selenium] 페이지 이동 함수 황제낙엽 2024.05.05 346
61 [Selenium] Chrome 실행 자동화 file 황제낙엽 2024.05.03 1498
60 [Selenium] MS Edge 실행 자동화(RPA, Robotic Process Automation) file 황제낙엽 2024.05.02 701
59 [Selenium] Warning : Unable to find CDP implementation matching 124 황제낙엽 2024.05.02 1062
58 프로젝트 WBS 예제 (Microsoft Project 2013) secret 황제낙엽 2021.05.12 0
57 WBS (Work Breakdown Structure) 황제낙엽 2020.06.18 286
56 프로젝트 진행 절차 file 황제낙엽 2020.05.21 405
55 BDD (Behaviour-Driven Development) 황제낙엽 2020.04.02 358
54 요구사항 개발과 요구사항 관리 요약(요구사항기술서 샘플) file 황제낙엽 2019.07.07 425
53 뒤늦게 정리하는 UML (Unified Modeling Language) 요약 file 황제낙엽 2017.03.29 767
52 StarUML™의 숨은 재미있는 기능 황제낙엽 2017.03.29 2481
51 The Facade Pattern file 황제낙엽 2017.01.04 655
50 와블스 프로세스(Warbles Process) 황제낙엽 2016.07.17 550
49 비 개발자 출신이 스크럼 마스터가 될 수 있는가? 황제낙엽 2015.06.25 621
48 디자인패턴[Observer 패턴] 황제낙엽 2013.10.18 500
47 PMBOK 5판 이해관계자 관리의 이해 [1] file 황제낙엽 2013.08.23 1650
46 Validation and Verification file 황제낙엽 2013.08.23 432
45 이해관계자의 관리/이해관계자 분석 황제낙엽 2013.08.23 670