【オブジェクト指向】実際どうなの?

このエントリーをはてなブックマークに追加
389非決定性名無しさん
同じような問題意識を、5年ほど前に持った覚えがある。(圏論やってた新卒社員と顔合わせてた頃の話)

で、(圏論全然関係ないけど)三種類の答えがある、と認識している。

1. Stateパターンで、状態遷移を離散的に表す方法
 例えば、TCP/IPソケットの接続状態 (細かい説明略. man socketとかしてくれ)

2. Decorationパターン(でよかったっけ?)で、
  時間遷移に伴うデータ構造変化を表現する方法

3. Prototypeベースのオブジェクト指向言語で、
  オブジェクトの形を序々に変えていき、
  出世魚みたく、所属クラスを変更していく方法。
  多分、上記1と2を併用する形になると思う。

つうわけで、ふつーのオブジェクト指向言語でも
「時間変化に伴う動的なオブジェクト変化」を扱えるわけですが、いかがですか。
あと、時間軸を連続的に動かす必要もありますか?(Adobe XMP絡みで、似たことをおっしゃる方が銀座伊方面に居る)
実用的な範囲内では、
1. コンテンツ管理システムや、バージョン管理システムに使われるような、
  離散的な状態変化
2. マルチメディア(音声や動画)で使われる、ミリ秒オーダの状態変化
3. ネットワーク資源のような、巨大かつ、スナップショットの取得すら難しい資源の、
  擬似的な把握 (Googleキャッシュ)
みたいな範囲を押さえれば、十分だと思うけど。

SRA先端研究所の教祖様だと、もっとすごい事を考えていそう・・・
390非決定性名無しさん:05/02/01 01:13:51
SmallTalkのように、型に対して柔軟であれば、そうでもないのでは?
391非決定性名無しさん:05/02/01 01:18:24
>>389
1.と3.はいい感じ。

2(Decorator)は振る舞いの動的変更と合成であってデータ構造の変化が
目的じゃないれす
392非決定性名無しさん:05/02/01 01:20:51
>>374
えぇ〜っとぉ、
某所では随分評判悪かったよ。
連中と付き合いたくないから、ウチはJ2EEやらない!って。(爆

>>380
芯で頂いて結構です。
393非決定性名無しさん:05/02/01 01:25:23
>>391
Factoryとか合わせ技で使うと、
Compositで擬似的なクラス構造ができる罠。

>>390
相撲留遠くの綴りは Smalltalk。なんでTを大文字にすんの?って何回指摘したら気が済むの?
そーゆー物覚えの悪い子には、教祖様のSmalltalk勉強会資料のURLはっつけるぞ。

あと、寡聞にして Smalltalkが「型に対して柔軟」という説を意識した事も聞いたこともございません。
解説して下さい。
・もしかして、Smalltalkはかつてバイトインタープリターで動いてたから、ほぼ動的にクラス定義ができるっつ事?
・あるいは、Prototypeベースオブジェクト指向言語Self (Smalltalk方言)の事とは違うよね?
394非決定性名無しさん:05/02/01 01:28:36
>>393
まあ、それならすなおにCompositeパターン使えば
いいとおもわれ
395非決定性名無しさん:05/02/01 01:31:01
>>393
> あと、寡聞にして Smalltalkが「型に対して柔軟」という説を意識した事も聞いたこともございません。
ええ〜Smalltalkってそもそも型がないんじゃなかったの?
#満足してくれた?
396非決定性名無しさん:05/02/01 01:37:19
うん、オブジェクトの時間的変化っつうのが、振る舞いの変化か、データ構造の変化か、
不明だったからね。(と言い訳)
あと、factoryパターンじゃなく、prototypeパターンでインスタンス生成をする、と訂正。

つ事で、
振る舞いの時間的変化の表現:  Decorationパターンで振る舞い変更。 (時間軸方向の管理は別途)
データ構造の時間的変化の表現:Compositパターンでデータ構造変更。(時間軸方向の管理は別途)
時間的に変化するオブジェクトを、ファーストクラスのクラスとして扱うための手法:
                     (1)時間的に変化するオブジェクトのクラスを
                       べき乗パターンの型クラスの導入により、擬似的に表現
                     (2)その擬似的クラスのインスタンスを作成するには、
                       Prototypeパターンで、原型となるオブジェクトに基づき、作成。

てな漢字かな。