![]() ![]() ![]() | 投稿するにはまず登録を |

フラット表示 | 前のトピック | 次のトピック |
投稿者 | トピック |
---|---|
naka_aki | 投稿日時: 2008-5-15 19:53 |
常連 ![]() ![]() 登録日: 2006-7-4 居住地: 投稿: 42 |
Re: オブジェクトをダイナミックにサブクラス化する場合の記法 UMLもしょせんはOOのやりかたのうちの1つの流派を支援してるだけ、だと思います。
UMLは成立年代に影響されすぎちゃったんじゃないかと邪推してます。 Java…いやC++か…の影が強すぎると思う。 UML作った人たちは、ECMAScriptみたいな動的言語でまともなプログラムをする日が来るなんて考えてなかったんじゃないかな? 世間的には、オブジェクト指向「スクリプト」言語と銘打ったRubyがブレイクしたことで、状況が色々変わっちゃったんじゃないかなあ。 >SubclassWindow ご存知というわけじゃなく、一案としてなんですが、 (ruby的な書式でいうと) obj1.subclass! を obj2 = obj1.subclass で代用するって手はどうでしょう? 自分の分身(ただし性質はチョット変更してる)を作って、そいつに以降の仕事をやらせる、と捉える。プロキシとかデコレータとかそれこそプロトタイプとかのような考え方です。 (もちろん、別インスタンスにする(と見なす)と凄く不味くなってしまうケースでは、使えない手ですが。) そうすれば、例えばシーケンス図だと、obj1.subclassからobj2がcreateされたように描けます。 subclass化をキャンセルする(できるんでしたよねたしか)操作は、 obj2の破棄で代用というか表現できます。Lifecycle的にはobj1の寿命がobj2の寿命をすっぽり包んでる感じになりそうです。
|
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
![]() |
wasiro | 2008-5-12 14:35 |
![]() |
joba | 2008-5-15 16:42 |
» ![]() |
naka_aki | 2008-5-15 19:53 |

投稿するにはまず登録を | |