被観測者の状態が変化したら、観測者(Observer)に状態の変化があったことを通知するような構造をObserverパターンという。
17.Observer パターン | TECHSCORE(テックスコア)
main.cppで、
staff1に10、staff2に20、staff3に30をセットしてる。
$ vi main.cpp $ g++ -o main main.cpp manager.cpp staff.cpp $ ./main staff1 value_ = 10 staff2: staff1 changed! staff3: staff1 changed! staff2 value_ = 20 staff1: staff2 changed! staff3: staff2 changed! staff3 value_ = 30 staff1: staff3 changed! staff2: staff3 changed! $
staff1に10をセットされると、staff2, staff3に通知されて、"staff1 changed!"と出力。
他のstaffで値がセットされても、それ以外のstaffに通知される。
Sample/designpattern/observer/observer/src/observer at master · bg1bgst333/Sample · GitHub