728x90
옵저버 패턴(Observer Pattern)은 기본적으로 Tool을 만들 때 많이 사용되는 패턴이다.
쉽게 말하면 툴에서 어떤 이벤트를 날렸을 때, 엔진 내부에서는 그 이벤트에 대해 여러가지 동작을 해야 할 것이다.
그 이벤트에 대해 여러가지 동작을 하려면 같은 변수가 여러 개가 들어가게 되거나, 소스 코드에 쓸데 없는 코드가 많이 들어가게 되어 많이 복잡하게 될 것이다.
이러한 문제를 고치기 위해 옵저버 패턴이 만들어졌다.
즉, 옵저버 패턴이란 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들 모두에게 연락이 가고 자동으로 내용이 갱신되는 패턴 1 : N 의 의존성으로 정의한다.
소스 코드 :
위의 클래스는 Observer Base Class이다.
이 클래스는 기본적으로 시청자의 이름과, 방송을 받는 가상함수만 있다.
위 클래스는 Observer Base Class를 상속 받아서 실제로 사용되는 Observer Class 이다.
위 클래스는 시청자를 관리하는 클래스이다.
위의 코드는 Main() 코드
마지막으로 결과 !!
테스트 예제로 뭘 해볼까 하다가 아래 블로그에서 방송 예제를 보고 작업을 해보았습니다.
출처 : http://copynull.tistory.com/140
728x90
'Basic Programming > Design Pattern' 카테고리의 다른 글
Design Pattern - 쓰레드에서 안전한 싱글턴 패턴(Thread-Safe Singleton Pattern) (0) | 2017.04.19 |
---|---|
Design Pattern - 팩토리 패턴(Factory Pattern) (0) | 2017.03.08 |
Design Pattern - 핌플 이디엄(Pimpl Idiom) (0) | 2016.02.24 |
Design Pattern - 파사드 패턴(Facade Pattern) (0) | 2015.12.10 |
Design Pattern - 싱글턴 패턴(Singleton Pattern) (0) | 2015.12.10 |