適用事例: Observer パターン

値の更新/通知で、すぐに思い浮かぶのは古典的な〈GoF〉Observer パターンです。そこで、このパターンに、データバインディングを導入した事例を紹介します。

《付記》この事例は、説明のために用意したもので「未完成」です。

まず、パターンの復習から始めます。古典的な Observer パターンを踏襲したのが、Observer.py です。これを実行すると、次のようなウィンドウが現れます。


(上)リスト項目を選択すると(左)テキストボックスには色名が表示され(右)スライダーは色成分ごとに調整されて、キャンバスにその色が表示されます。この事例では、Subject の状態が変化すると、Observer も自分の状態を更新します。そのためには、1)事前の登録、2)事後の更新/通知の手順を踏む必要があります。