[C++] 디자인 패턴 - 감시자 패턴 (Observer Pattern)


[C++] 디자인 패턴 - 감시자 패턴 (Observer Pattern)

감시자 패턴이란? 어떤 객체의 상태가 변할 때 그 객체의 의존성을 가진 다른 객체들이 그 변화를 통지 받고 자동으로 갱신될 수 있게 만듭니다. GoF 디자인패턴 p382 객체가 서로 연동해서 작동할때, 객체간의 결합도를 높이는것 대신(재사용성이 떨어짐) 게시 - 구독 관계의 상호작용을 하게 만드는 패턴입니다. 주체(Subject)가 게시를하면 구독한 감시자(Observer)가 통보를 받는 개념입니다. 예제를 보면서 살펴봅시다. 시계 타이머 예제 디지털 시계와 아날로그 시계가 있다고 해봅시다. 이때, 시계는 서로 다르지만 시간이 1초흐르면 디지털이나 아날로그나 1초씩 흐를것입니다. 주체가 시간, 감시자는 디지털시계와 아날로그 시계라고 해봅시다. 흐른 시간이 게시되면 감시자들은 그에 맞춰 상태를 업데이트합니다 디지털시계와 아날로그시계가 시간을 구독한 것입니다. 이런 느낌입니다 이해가 가시나요? 그러면 이제 실제로 코드를 짜봅시다. 우선 인터페이스 만들기부터 추상클래스로 Observer ...


#Cplusplus #감시자패턴 #객체지향 #디자인패턴 #프로그래밍

원문링크 : [C++] 디자인 패턴 - 감시자 패턴 (Observer Pattern)