Observer Pattern이란 관찰 중인 객체에서 발생하는 이벤트를 여러 다른 객체에 알리는 메커니즘을 정의할 수 있는 디자인 패턴이다.
iOS에서는 Swift 5.1 버전부터 Combine Framework에 Publisher가 추가되어 이를 사용할 수 있고 NotificationCenter와 비슷하게 사용할 수 있다고 함.
Subject(Publisher)
Observer
들을 가지고 있으며 개수의 제한 없음Observer
들을 추가, 제거하는 Interface
를 제공한다(프로토콜)Concrete Subject(Publisher)
Concrete Observer
객체의 Status
를 저장한다Status
가 변경되면 Observer(Subscriber)
에게 알립니다Observer(Subscriber)
Update Interface
를 제공함Concrete Observer(Subscriber)