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パターンで、原型となるオブジェクトに基づき、作成。
てな漢字かな。