Key word : one-to-many
옵저버 패턴(Observer pattern)은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 알리고 자도으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다.
pool방식 vs. push방식
1) pool방식
Subject를 pool로 간주하고, 옵저버에서 subject의 pool을 관찰하여 자신의 상태를 update하는 방법이다.
2) push방식
Subject가 자신의 상태가 바뀔 때 마다, 등록된 옵저버들에게 알리는 방식이다.
push방식의 문제점 및 개선
만약에 subject가 옵저버들에게 알리는 경우에, 몇몇 상태가 추가된다고 하면, 모든 옵저버들에 대해서 이 상태를 accept할 수 있도록 많은 코드를 수정하여야 한다.
-> pool방식을 사용하면, subject에 게터(getter) 메소드를 정의하여, 옵저버에서 필요한 경우에만 이 메소드를 통해서 상태를 얻을 수 있다.
옵저버 패턴(Observer pattern)은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 알리고 자도으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다.
pool방식 vs. push방식
1) pool방식
Subject를 pool로 간주하고, 옵저버에서 subject의 pool을 관찰하여 자신의 상태를 update하는 방법이다.
2) push방식
Subject가 자신의 상태가 바뀔 때 마다, 등록된 옵저버들에게 알리는 방식이다.
push방식의 문제점 및 개선
만약에 subject가 옵저버들에게 알리는 경우에, 몇몇 상태가 추가된다고 하면, 모든 옵저버들에 대해서 이 상태를 accept할 수 있도록 많은 코드를 수정하여야 한다.
-> pool방식을 사용하면, subject에 게터(getter) 메소드를 정의하여, 옵저버에서 필요한 경우에만 이 메소드를 통해서 상태를 얻을 수 있다.
이올린에 북마크하기