일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- selenium
- Codeforces
- terraform
- Spring Boot
- c#
- FastAPI
- Word Cloud
- 파이썬
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 브랜디
- 프로그래머스 코딩 테스트 연습
- 바이오데이터 엔지니어
- 프로그래머스 코딩테스트 연습문제
- Python
- 디자인 패턴
- PostgreSQL
- 클린 코드
- Firefox
- 애드센스
- git
- 프로그래머스 월간 코드 챌린지
- github actions
- 프로그래머스 월간 코드 챌린지 시즌1
- 스코페2021
- WPF
- pycharm
- 프로그래머스 코딩테스트 연습
- github
- heroku
- PostgreSQL 설치 시 에러
Archives
- Today
- Total
프로그래밍 연습하기
Observer Pattern(옵저버 패턴) 본문
반응형
옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고,
자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다.
옵저버들을 관리하는 Subject 인터페이스를 구현하는 클래스를 만들고,
Observer 인터페이스를 구현하는 옵저버 클래스들이 있게 됩니다.
Subject 인터페이스는 옵저버 등록, 삭제, 알림 메소드가 있고
Observer 인터페이스는 업데이트 메소드가 있습니다.
Subject 인터페이스에서 알림 메소드 안에서 Observer 인터페이스의 업데이트 메소드를 사용해서
내용을 갱신할 수 있습니다.
옵저버 패턴은 자바에서 java.util.Observable 을 통해 사용할 수도 있습니다.
하지만 이는 클래스를 상속받아서 구현해야되기 때문에
재사용성에 제약이 생기는 등의 문제가 생깁니다.
Observable을 쓸 수 있는 상황에서는 쓸 수도 있겠지만 직접 구현하는 것도 고려해야합니다.
참고 자료 - Head First Design Pattern
반응형
'디자인 패턴' 카테고리의 다른 글
Singleton Pattern(싱글턴 패턴) (0) | 2020.08.06 |
---|---|
팩토리 패턴 (0) | 2020.08.06 |
Decorator Pattern(데코레이터 패턴) (0) | 2020.08.01 |
Strategy Pattern(스트래티지 패턴) (0) | 2020.07.30 |
Comments