관리 메뉴

caLAB

[개발] Behaviours Design Pattern - Observer Pattern, Memento Pattern 본문

개발 공부/컴퓨터 과학

[개발] Behaviours Design Pattern - Observer Pattern, Memento Pattern

도이(doi) 2022. 5. 10. 15:31
728x90

Observer Pattern

이벤트가 발생했을 때 관찰자가 바로 반응

obaserver패턴의 클래스 구조

이벤트를 감시할 observer 인터페이스 생성 감시자 인터페이스는 이벤트가 일어날 때 동작할 update()

를 가지고 있음. 

observer pattern 예제

Memento Pattern 

오브젝트의 히스토리를 관리하고 싶을 때 사용

Mediator Pattern

객체간 직접 상호작용하는 것이 아닌 중간에 있는 중재자(mediator)를 통해서 소통하는 방식

오브젝트 간의 직접 소통을 mediator를 돌림으로써 오브젝트 간의 의존성을 낮춘다.

클래스 구조

mediator 인터페이스 정의 이는 notify 함수 존재. HomeMedia클래스 정의 notify 함수 구현  HomeMedia는 Clock, Light, Speaker 레퍼런스를 가지고 있음. Clock, Light, Speaker가 존재하면 이들은 각각 HomeMedia 레퍼런스를 가지고 있음. 

오브젝트 클래스
Mediator
Client

728x90
반응형
Comments