Index: [Article Count Order] [Thread]

Date:  Mon, 16 May 2005 22:42:59 +0900
From:  Hidehiko AKASAKA <akasaka.h@....com>
Subject:  [modeling-dojo:00409] Re: オブジェクトのやりとり(Re: 32番リベンジモデル公開)
To:  modeling-dojo@....jp
Message-Id:  <4288A363.4050309@....com>
In-Reply-To:  <20050516035719.81765.qmail@....jp>
References:  <20050516035719.81765.qmail@....jp>
X-Mail-Count: 00409

こんにちは、赤坂です。

とても面白そうな話題ですね。
ちょこっとだけ参加させてください。

naka aki wrote:

> #最近ハマってるのは檜山正幸さんのJanusとかいう奴
> # http://www.chimaira.org/docs/indexCSiSEng.htm です。
> #実に面白いです。
> #近年の「普通の」OOPのどこに無理が有るのかが凄く鮮やかに読み取れるというか。
> #実務で(つまり普通のUML&Javaで;-P)の使うチャンスの有無はさておき、一読おすすめ
> っす。

ここのどこを見るとnakaさんの意見に追いつけますか?
全部見るのでしょうか?「動的発展」というページはちらっと見ました。

> で、引数とかによるオブジェクトやり取りに注目したく思っているのは、
> オブジェクトを渡すことで、
> 「参照関係の変化」が生じる(ということが一般的である)
> のじゃないか?と思ったせいです。

一時的な参照関係の変化は、依存関係・parameterで表現できますが、
それはいまいちということですよね?

> #そうそう。上記の檜山さんの「アメナブル」という概念を、意識しています。
> #つまり、メソッドは最低でも「アメナブルか否か」で分類するくらいのことは
> #したほうが良いんじゃないか?という「危機感」を感じてるものでして…。

「動的発展」にはアメナブルはなかったような。・・・アメナ可能?アメナ?
# どこにあるんだろう・・・、ま良いや、後で。

> 私の感覚では、オブジェクト指向って、
> オブジェクトがオブジェクト「を」投げ合うというか、やり取りしあうというか、
> そう見ることで初めて「動く」ものとして捉えられるんじゃないかな、
> という感じなんです。

この辺が、ワクワクしますね(^o^)

> てゆーか、オブジェクト指向じゃなくても、そうでしょうけどね。

オブジェクト指向ではそうなんですか?

>>中間の工程で、データの流れをどのように表現するとよいのか、
>>また、そもそも表現する必要があるのかは、難しくてまだ分かりません。
> 
> 
> オブジェクトのやり取りは、データの流れとは限らないんで(^^;。

DFD撃沈(笑)。

> やり取りが先に見えるケースで、
> かつ「データの流れというわけじゃないんだけどな」というケースとして、
> 「野球」なんかはどうでしょう?
> 
> なんたって、
> 「ピッチャー」と「キャッチャー」は「ボール」をやり取りしてます。はい(^^;
> 
> まあ、キャッチボール(のボール)がそのまま
> メソッド(の引数)にマッピングできるかどうかは
> 怪しいですが、

ですね。巨人の星で消える魔球なんかを考えると、ボールもオブジェクトですよ
ね(笑)。
・・・ということは、ゲームの世界では当たり前なのかな?

** 誰が、ゲーム業界の人(またはご存知の方)はいらっしゃいませんか?

> 逆にいえばそういうのは設計や実装の段階に(つまり後で)
> 考えりゃいいんじゃないかなー。

僕は、あくまで僕はですけど、
実装の段階では嫌です。だって、もっと前にちゃんとできることを確認したいから。
設計の時点で考えれば良いならOKですけど、UML程度の表現方法では望み薄です
けど。

> そうそう。
> もう1つ球技ネタで言うならば、
> オブジェクト指向はビリヤードのようなものだろうな、
> と私は思っています。
>
> 玉同士(やキュー)の衝突がMessageSendingに相当するんですが、
> 衝突の結果として玉が「動き」ますよね。位置や速度や「どの玉と接してるか」関係が変
> わる。
> あの感じです。
> 衝突だけ注目しても無意味というか微視的すぎていて、
> 衝突の結果として玉は「無事では済まなく」なるわけです(つまり動く)。
> (檜山氏いうところの「物理系」って奴かなあ。)
> 
> しかも衝突は単発じゃなく文字通り玉突き追突することで、各玉が複雑に動く。
> (正にシーケンス図やコラボレーション図が「リアルタイムでアニメする」ようなイメージ
> ね)
> その「衝突」と「動く」との絡みっぷりが、オブジェクト指向なのだろうなあと。
> 
> #なので、動的と静的の取り扱いをわざわざ別の図でやらないとならないUMLは、
> #そういう意味でもストレス感じます。

こういうものを素直に表現できると良いなぁという点は激しく同意します。が、
すでに Beyond the Object だと思うのですが・・・。

既存のオブジェクト指向では旨く表現できないということだと思います。

別にもちろん、普通にソフトを作ることはできるけど、
自然に考えることができない・表現できないという意味ですよね?

> 動くのですから、オブジェクトは的から逃げていくことも有るわけです。
> われらの言葉でいえば、あるMessageSendingの対象として適切な存在であるかどうか?が
> リアルタイムに刻々変化していく感じです。

図面にするなら、少なくともある時点で変化しない何かが欲しいですね。
その変化しない何かを基準にして、動きを表現できると思います。
ただ、動くものの次元が多数になるとどうやって表現するんでしょうね。
やっぱり、アニメーション描くしかないように思うのは、
・・・考えが足りないのかも知れないですね。

何か良いアイデアがあったら教えてください。
とりあえず、面白そうなので興味はあります。

では。

-- 
赤坂 英彦 (akasaka.h@....com)
http://d.hatena.ne.jp/Akapon/