#MOC
[[🗃️インスタンス]]の状態が変化したときに、[[🗃️インスタンス]]自身が「観察者」に状態の変化を「通知」するような表現をする[[🗃️デザインパターン]]
## 例
- ニュースレターの配信
- ニュース配信者(Subject)が新しいニュースを投稿すると読者(Observer)に通知する
```mermaid
classDiagram
Subject <|.. NewsLetter
Observer <|.. Subscriber
NewsLetter "1" -- "*" Subscriber : notifies >
class Subject {
<<interface>>
+attach(Observer)
+detach(Observer)
+notify(string)
}
class NewsLetter {
-observers
+attach(Observer)
+detach(Observer)
+notify(string)
+publishNews(string)
}
class Observer {
<<interface>>
+update(string)
}
class Subscriber {
-name
+update(string)
}
```
## 📚ドキュメント
- [17.Observer パターン | TECHSCORE(テックスコア)](https://www.techscore.com/tech/DesignPattern/Observer)
## 📖ノウハウ
## 💁トラブルシューティング