Observerパターン メモ
他のコンポーネントの動きを監視するコンポーネントを作ることが出来る。
オブジェクト同士を結合させることがないので、スパゲッティにならずにすむ。
情報を通知するクラスをサブジェクト(Subject)、情報を受け取るクラスをオブザーバ(Observer)と呼ぶ。
gistfile1.rb
Subject: Employee
Observer: Payroll, TaxMan
Subjectの機能をモジュールとして実装。
gistfile2.rb
Ruby標準のObservableモジュールを使った場合。
gistfile3.rb
Observerをコードブロックで実装した場合。