ぼっちObserverパターン


Observer がいないので自分を Observer として使います。

require "observer"

class Player
  include Observable

  def initialize
    add_observer(self)
  end

  def run
    changed
    notify_observers(self)
  end

  def update(player)
    p player
  end
end

Player.new.run

利点

  • 疎結合にしたつもりで考えられる

欠点

  • 何がしたかったのか、あとで余計にわからなくなる場合がある