`
jsntghf
  • 浏览: 2476392 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

观察者模式

阅读更多

require 'observer'

class User
  include Observable
  attr_accessor :username
  attr_accessor :password

  def initialize(username, password)
    @username = username
    @password = password
  end

  def change_username
    changed
    @username = "789"
    notify_observers
  end

end

class Foo
  def update
    puts "attribute has been updated"
  end
end

  user = User.new("123", "456")
  user.add_observer(Foo.new)
  user.change_username
 
分享到:
评论
Global site tag (gtag.js) - Google Analytics