「オブジェクト指向における再利用のためのデザインパターン」を読んでいたら、SmalltalkにはObserverパターンの機能がObjectクラスレベルで組み込まれているという記述を見つけた。どういう具合になっているのかなぁと思ってちょっと探してみたら次のページを見つけた。
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak5/S5-7-1.html
SmalltalkではDependencyメカニズムと呼ぶようだ。
SqueakのブラウザでObjectクラスをみると、かなりの数のメソッドがある。JavaのObjectクラスと比べるとかなり多い。SmalltalkでもJavaでも、Objectクラスはすべてのクラスの基底になっているから、そこにどのような機能があるかは重要。
Cocoa Objective-CではNSKeyValueObservingプロトコルにObserverパターンの機能が組み込まれているのですな。
Observerパターンはクラス間の相互依存性を解消するのによく使うから、楽にコーディングできるようになっているとうれしい。Javaだとけっこういろいろ書かないといけないんだよな。