🔭

デザインパターンについて(Observer編)

2021/09/28に公開

Observer パターン

ココでは Observer パターンについて書いていく。
目次: https://zenn.dev/firedial/articles/f7b1a84ef2c6b8

Observer パターンとは

Observer パターンは、オブジェクト間の1対多の依存関係を定義し、あるオブジェクトの状態が変化すると、それに依存していすべてのオブジェクトが自動的に通知され更新されるようにします。

状況

気温が変化したときに、気温を使っている各オブジェクトに対して更新をかける。

クラス図

コードと説明

コードは下記を参照。
https://github.com/firedial/design_pattern/tree/master/Observer

更新を一括で監視する Subject クラスと、更新を受け取って処理をする Observer クラスがある。
Observer クラスは ObserverInterface を実装していて、更新時の挙動を update 関数で定義されていることが保証されている。
一方、Subject クラスは更新を監視させたい Observer クラス一覧を持ち、何かしらの更新がかかったとき、各 Observer の update 関数を呼び出すことによって更新をかけることができる。

Discussion