Observer(옵저버) 패턴

2022. 7. 19. 17:56카테고리 없음

Observer(옵저버) : 관측자,혹은 감시자라는뜻.

무언가 감시하는 역할

 

Observer 패턴은 이벤트들이 일어나는것을 감시하는 패턴

이벤트가 발생할 때마다 어떠한 동작을 즉각수행해주는것

 

다른 객체의 상태 변화를 별도의 함수 호출 없이 즉각적으로 알수 있기때문에, 이벤트 처리를 자주 해야 하는 프로그램이라면 효율적으로 프로그램을 작성할수 있다.

 

옵저버 패턴을 구현의 원리

 

이벤트를 발생하는 클래스 B가 있고 , 이벤트를 발생시키는 B를 감시하는 클래스 A가 있다고 생각해보자. 어떻게 해야 처리동작을 구현해볼수 있을까?

 

클래스A 에서 B의 이벤트를 수신받기위해 클래스B를 인스턴스화 한 뒤 , B 가 자신에게 이벤트가 발생할 때마다 클래스 A가 갖고있는 메소드를 호출하도록 시키는것이다. 이렇게 해보니? 

클래스 A가 클래스 B가 이벤트가 발생됬을때 연결고리가 없어서 반응이 안됬다.

클래스 A와 클래스 B사이에 인터페이스 하나를 둬서 B에서 이벤트가 발생햇을때 인터페이스를 작동시키게 하니  클래스A가 호출이 되었다.

 

 

폴링 

어떤 객체의 변화를 감지하고 싶을 때 일반적으로 떠오르는 방법은 주기적으로 그 객체에 변화가 이뤄졌는지 검사하는 것이다.