前橋です。

From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:6124] Re: Ruby 連載 第 3 回
Date: Fri, 30 Jan 98 11:22:48 +0900

> |Visitor,Delegater,Observer それぞれについて、簡単にでも説明して頂ける
> |とありがたいです。Ruby本は出たら必ず買いますので。
> 
> 本当ですね? ^^;;;

もちろん。だから早く出してくださいね:-)

> まだ,この部分の原稿を書くのは先だな,と思ってGamma本を手元
> に用意していないのですが,

Gamma本って何だろうと思って探してみたら、Meyer本の参考文献に

Design Patterns: Elements of Reusable Object-Oriented Sofrware

というのがありました。きっとこれのことですよね。今度探してみます。


> |ところで Delegater ではなくて Delegator じゃないですか?
> 
> そうなんですか? しまったなあ,Delegaterってクラス作っちゃっ
> たなあ.

Java には sunw.demo.delegator というパッケージがあるようです。

altavista に突っ込んでみたら、delegater で出てくるページは言語が 
Swedish とか Norwegian とか Danish ばかりなので、英語的には delegator 
だと思います。オブジェクト指向用語としてはわかりません。

> C++の場合は静的な型があったり,ちゃんとしたGenericityがなかっ
> たりして,ほとんどの場合あるパターンに一般的に対応するクラス
> というのがあらかじめ定義できず,こういう関係のクラス群という
> のを毎回定義する必要があります.一方Rubyでは静的な型というの
> はありませんから,DelegaterやObserverのようにあらかじめその
> パターンを実現するクラス(かモジュール)を実現できます.

オブジェクト指向言語で良く使われるパターンとして Delegator や Observer
とかがあり、ruby ではクラスとして用意されているが、C++ では言語的制約
(?)から汎用クラスが定義できず毎回つくらなければいけない、というところ
でしょうか。Gamma本を探して勉強してみます。