まつもと ゆきひろです

In message "[ruby-list:12000] how to make class?"
    on 99/02/11, "Kikutani, Makoto" <kikutani / sprintmail.com> writes:

|「rubyの匠な人々はどうやってクラスを作るんでしょうか?」

匠でなくて申し訳ありませんが,面白そうなんで,わたしの場合(^^;;

わたしは大きく分けるとふたつの方法でクラスをみつけます.ひと
つは静的なデータ構造に着目するものです.生物から哺乳類,哺乳
類から犬のようなよくあるパターンですね.こちらについてはオブ
ジェクト指向に関するどの本を見ても載ってるような気がします.

とはいえ,実際のプログラミングでこういう階層構造のあるデータ
が登場することはあまり多くありません.一般的にはひとつのプロ
グラムでせいぜいひとつかふたつ程度でしょうか.

で,わたしが使うもうひとつの方法は,以下のようなものです.

与えられた問題を解決するプロジェクトチームを組織することを考
えます.たとえば,ディレクトリから情報を取り出す係,画面に表
示する係,etc.で,この係がオブジェクト候補になります.係の
中にはふたたびプロジェクトチームで構成され,複数の係に分割さ
れるものもあります.このようにして抽出された「係」の果たすべ
き仕事を考える時,あるものは既存のクラス(たとえば文字列や配
列など)でカバーされるでしょうし,別のものは専用のクラスを作
る必要があるでしょう.

クラスを作るもののうち,共通項をまとめられるものはその部分を
スーパークラスにします.

このような半動的な「組織」を考えることで実際のプログラムで役
に立つクラスを抽出できることが多くなるような気がしています.

とかいうようなことをRuby本の5章で説明してます.あと,7章が仕
上れば原稿は終りなんですが….

                                まつもと ゆきひろ /:|)