デザインパターン-Observer



Observerパターンとは

Observerパターンとは、観察者(Observer)となるオブジェクトが、観察対象となるオブジェクトの状態変化に応じた処理を行うパターンです。

観察対象オブジェクトは自身の状態が変化した場合、観察者オブジェクトに通知します。

「Observer」とは「観察者」という意味です。


構成要素


rubyによるObserverパターンの実装

rubyでは、ObservableモジュールをincludeすることでObserverパターンを実現できます。

#!/usr/bin/env ruby

require 'observer'

#被観察者
class ConcreteSubject
  include Observable
end

#観察者
class ConcreteObserver
  def update(arg)
    puts 'update message: ' + arg
  end
end

cs = ConcreteSubject.new
co = ConcreteObserver.new
cs.add_observer(co)

# 更新フラグを立てる
cs.changed
# オブザーバに通知
cs.notify_observers('Changed!')


関連ページ



スポンサード リンク