Observer Pattern

원하는 작업이 변경되는 것을 관찰하고 있다가, 관찰하는 작업이 변경될 때 원하는 작업을 수행하는 형태

why? 사용해야 할까?

⇒ 두 연견된 객체들 사이의 결합도가 낮아짐!!

when? 언제 사용할까?

Untitled

Untitled

간단한 Observer 예시

⇒ 솝트의 OB 모집을 한다는 것을 알려야 되는 상황이라고 가정합시다!

1) Publisher

protocol Publisher {
	var observers: [Observer] { get set}
	func subscribe(observer: Observer)
	func unSubscribe(observer: Observer)
	func notify(message: String)
}

2) Observer