728x90


옵저버 패턴(Observer Pattern)은 기본적으로 Tool을 만들 때 많이 사용되는 패턴이다.


쉽게 말하면 툴에서 어떤 이벤트를 날렸을 때, 엔진 내부에서는 그 이벤트에 대해 여러가지 동작을 해야 할 것이다.


그 이벤트에 대해 여러가지 동작을 하려면 같은 변수가 여러 개가 들어가게 되거나, 소스 코드에 쓸데 없는 코드가 많이 들어가게 되어 많이 복잡하게 될 것이다.


이러한 문제를 고치기 위해 옵저버 패턴이 만들어졌다.




즉, 옵저버 패턴이란 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들 모두에게 연락이 가고 자동으로 내용이 갱신되는 패턴 1 : N 의 의존성으로 정의한다.






소스 코드 :




위의 클래스는 Observer Base Class이다.


이 클래스는 기본적으로 시청자의 이름과, 방송을 받는 가상함수만 있다.




위 클래스는 Observer Base Class를 상속 받아서 실제로 사용되는 Observer Class 이다.




위 클래스는 시청자를 관리하는 클래스이다.




위의 코드는 Main() 코드





마지막으로 결과 !!



테스트 예제로 뭘 해볼까 하다가 아래 블로그에서 방송 예제를 보고 작업을 해보았습니다.


출처 : http://copynull.tistory.com/140


ObserverPattern.cpp


728x90

+ Recent posts