From: shugo@... (maeda shugo) Date: 1997-07-16T15:46:40+09:00 Subject: [ruby-list:3358] Re: Observable#notify_observers 前田です。 Junichi Suzuki san wrote: |Observer/Obserbableのお話がでていたので,ちょっと宣伝;-). |PythonでのObserverパターンとサンプルアプリケーションを |http://www.skpl.com/employee/jun/python/ | |に置いています.ご興味のある方はご覧ください. 見てきました。 def setChanged(self): self.changed = 1 def notifyObservers(self, *args): if( self.hasChanged() ): for o in self.observers: o.update(self, args) self.clearChanged() ということでやはりchangedとnotifyは分離されていますね。 「デザインパターン」をようやく買ってきたのですが、 そこ辺りのことはあまり触れていませんでした。 自分なりに考えたところ、 contents.each do |obj| if obj.is_foo? obj.set_bar(xxx) changed end end notify_observers のような時にupdateが何回も呼びだされないのがよいのかな と思ったぐらいなのですが、もっと重要な違いがあるのでしょうか? -- #!/usr/bin/ruby shugo = Person.new("前田 修吾") shugo.e_mail = "shugo@po.aianet.ne.jp"