ruby设计模式之观察者模式2————更加一般化的观察者模式
一般来说,观察者模式的定义应该是这样的:require 'observer'class Employee include Observable attr_reader :name, :title, :salary def initialize name, title, salary @name = name @title = title @salary = salary end def salary=(new_salary) @salary = new_salary changed notify_observers(self) end # salary=end # Employee
在notify_observers之前必须先调用changed方法,表示确实发生了改变,否则notify_observers方法是无效的。