ruby中自带实现观察者模式的类observer。可以利用它来实现观察者模式。 代码例子: # -*- coding: GB2312 -*- require 'observer' # 观察者模式(ruby)的使用例子 # 被观察者P class PObservable include Observable end # 观察者A class AObserver # update方法名是必须的要有的 def update(arg) puts "AObserver 被通知了 " + arg end end # 观察者B class BObserver # update方法名是必须的要有的 def update(arg) puts "BObserver 被通知了 " + arg end end # 观察者初始化 observer_a = AObserver.new observer_b = BObserver.new # 被观察者初始化 obj = PObservable.new # 添加监视对象 obj.add_observer(observer_a) obj.add_observer(observer_b) # 被观察者改变了 ->这段代码 必须有 不然无法通知到观察者 obj.changed # 通知观察者 obj.notify_observers("Test") 输出结果: AObserver 被通知了 TestBObserver 被通知了 Test