LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

Observer パターン

分散イベント処理システムの実装に主に使われる。言語によっては、このパターンで扱われる問題は言語が持つイベント処理構文で処理される。リアルタイムのアプリケーション配置の手段として興味深い機能である。このパターンの基本は、(オブザーバまたはリスナーと呼ばれる)1つ以上のオブジェクトを、(サブジェクトと呼ばれる)対象オブジェクトが発生するイベントを観察するために登録する。イベントを発生するオブジェクトは一般に複数のオブザーバを管理する。以下に、その構造をUMLで描いたものを示す。このパターンに登場する各クラスを以下で解説する。各クラスのメンバ関数が列挙されている。オブザーバの登録・削除のインタフェースを提供するクラス。Subject クラスはオブザーバのリストを保持する。以下の関数を持つ:オブザーバが観察したいと考えている状態を提供する。上位クラス(すなわち Subject クラス)の Notify 関数を呼び出すことで、全オブザーバに状態変化を通知する。以下の関数を持つ:Subject からの更新通知を受け取る更新()インタフェースを定義するクラス。Observer クラスは実際のオブザーバの抽象クラスとして使われる。以下の関数を持つ:実際のオブザーバクラス。ConcreteSubject の状態変化の通知を受ける。以下の関数を持つ:イベントが発生すると、各オブザーバはコールバックを受け付ける。これは、オブザーバクラスの仮想関数(上の説明では、codice_1)の場合もあるし、リスナー登録の際に渡される関数ポインタ(より一般的には関数オブジェクト)の場合もある。この通知関数にはいくつかの引数が渡され(発生したイベントを示す引数)、オブザーバがそれを利用する。それぞれの実体のオブザーバは通知関数を実装し、その定義として実際にイベントを通知されたときの動作を記述する。Observer パターンは Model View Controller (MVC) パラダイムの実装に使われることも多い。MVC では、モデルとビューの間のループに Observer パターンが使われる。通常、モデルの変化を引き金として、ビュー(オブザーバ)にそれを通知する。以下の擬似コードは Python 風文法で Observer パターンを記述したものである。ロックを避けるため、CopyOnWriteArraySetを使用する。Observer パターンは各種ライブラリやシステムに実装されている。特にGUIツールキットには必ず含まれる。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。