前橋です。 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本を探して勉強してみます。