옵저버 패턴(Observer Pattern)은 객체 간의 일대다(one-to-many) 의존 관계를 정의하여, 한 객체의 상태가 변경될 때 그 객체에 의존하는 모든 객체에 자동으로 알림을 주는 디자인 패턴입니다. 주로 이벤트 처리 시스템에서 사용되며, 느슨한 결합(Loose Coupling)을 유지할 수 있는 장점이 있습니다.
1 ) Observer(관찰자)
update
메서드를 통해 Observable로부터 알림을 받습니다.2 ) Observable(관찰대상)
장점
객체 간의 느슨한 결합(Loose Coupling)
옵저버 패턴은 주체(Observable)와 옵저버(Observer) 간의 결합도를 낮춥니다. Observable 객체는 자신이 어떤 옵저버들에게 알림을 보내는지 알 필요가 없고, 옵저버도 Observable이 어떻게 상태를 관리하는지 알 필요가 없습니다. 이렇게 서로 독립적인 관계를 유지할 수 있어, 코드의 유연성과 재사용성이 증가합니다.
동적인 구독 관리
새로운 옵저버를 쉽게 추가할 수 있고, 기존 옵저버를 제거할 수도 있습니다. 이를 통해 시스템이 동적으로 확장되거나 축소될 수 있습니다. 예를 들어, 새로운 기능이나 모듈을 추가할 때 옵저버로 등록하기만 하면 별다른 수정 없이 기능이 통합될 수 있습니다.
변경 감지 및 자동화된 알림
Observable 객체의 상태가 변경될 때 자동으로 관련 옵저버들에게 알림을 보냅니다. 이를 통해 상태 변경에 따른 동기화 작업이 자동으로 이루어지며, 개발자가 수동으로 업데이트 작업을 관리할 필요가 없습니다.