💻 프로그래밍

[디자인 패턴] Observer Pattern(관찰자 패턴)

콩드로이드 2022. 7. 21. 16:52

Observer Pattern

Observer Pattern은 쉽게 말하자면, 관찰자가 데이터를 관찰하다가 변경사항이 생기면 업데이트 되는 방식입니다

 

📌 Observer Pattern의 구성 

발행자 (Subject)

• 객체의 변화를 발생시키는 역할

관찰자 (observer)

• 객체의 상태변화를 관찰하는 역할

• 상태가 변화되면 실행할 부분들을 구현합니다 

• 발행자를 연결하고 나서부터 관찰이 가능하기 때문에, 발행자와 연결하는 과정인 '구독(Subscriber)'이 필요합니다

 

Observer의 구현 

 

 변화가 발생하면 각 옵저버(ConcreteObserverA, B)는 콜백(notify())을 받습니다

 각 Observer는 notify함수를 구현해 이벤트 발생 시 처리할 동작을 정의합니다

 Subject는 새로운 Observer를 목록에 등록 / 제거 함수를 가집니다 

https://ko.wikipedia.org/wiki//옵서버_패턴

 

 

RxJava, MVVM에서 ObserverPattern을 사용하는데, RxJava에 관련된 내용은 곧 긴 포스팅으로 돌아오겠습니다 😀

MVVM은 LiveData 사용시 Observer를 사용하게 되는데, 자세한 예제는 아래의 포스팅을 확인해주세요 

https://kong-droid.com/51

 

[Android] MVVM 구현하기

안녕하세요 :)  이전 포스팅에서 MVVM에 대해 알아봤습니다만, 2022.05.30 - [Android] - [Android] Pattern (MVC, MVP, MVVM) 막상 MVVM으로 구현하려니, 적용이 꽤나.. 어려웠습니다 🥶 그래서 MVVM을 구현 시..

kong-droid.com

 

'💻 프로그래밍' 카테고리의 다른 글

[RxJava] #5 Operators(3) 필터링, 결합 연산자  (0) 2022.08.22
[RxJava] #4 Operators(2) 변형연산자  (0) 2022.08.14
[RxJava] #3 Operators(1) 생성연산자  (0) 2022.08.14
[RxJava] #2 Subject  (0) 2022.08.02
[RxJava] #1  (0) 2022.08.01