구분 | Observable | Subject |
---|---|---|
구조 | State가 존재하지 않는다.(함수임) | State를 가짐.(Data를 메모리에 저장) |
Observer 별 | Observer 마다 따로 코드 실행 (unicast) | 모든 Observer에 같은 코드 실행 (multicast) |
역할 | Observable 역할만 수행 | Observable 및 Observer 역할 수행 |
용도 | 하나의 Observer에 대한 Observable이 필요할 때 | 1. 잦은 데이터 저장 및 수정 2. 여러 Observer가 관찰해야 할 때 3. Observer와 Observable의 Proxy역할 |