- 1 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 19:09:56 ]
- そもそもデザインパターン自体どうなのよ?って話はここでやれ。
- 166 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 02:04:36 ]
- いやあさすが隔離スレらしい展開だな(w
荒らしも糞も無いだろ 隔離スレにマトモな議論期待するなって
- 167 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 08:36:26 ]
- アンチの特徴:具体例を求めるとキレる
「デザパタってトリッキーだよな」 「どのへんが?」 「ムキー!!!あ;dlふぃうえあ;kじゃ;」 「オブジェクト指向がわかってればデザパタなんか設計に使わない」 「じゃあ○○をデザパタ使わずにどう設計する?」 「ぎえいぎえが;おい」
- 168 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 10:11:02 ]
- >>164-165
本当に言い訳がましいなw
- 169 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 12:32:12 ]
- お前ら空っぽの引き出しを何時まで弄ってるつもりだ?
もう完全スルーでいいだろ? それはそれとして、このスレを何か有効に使う手はないものか?
- 170 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 13:13:42 ]
- っていうかここはもともとカラッポの引き出しを弄るスレですから
- 171 名前:162(通りすがり) mailto:sage [2005/06/23(木) 14:24:13 ]
- >>163
自作自演じゃねーし。 >>123はごめん。素で意味不明。もっと文章力を付けてください。 で。オセロのクラス図?ごめwwwwダリwwwww
- 172 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 16:08:16 ]
- デザインパターンを貶しておきながら具体的な話からとことん逃げ続けるアンチでありました
- 173 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 19:19:58 ]
- >>169
【デザパタ嵌り道】こんな失敗しますたスレヽ(`Д´)ノウワァァン【失敗談】 というのはどうか?
- 174 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 21:05:03 ]
- まぁ大体理解できてないか適用するパターンを間違えた例がでて終わりだろ
- 175 名前:16 mailto:sage [2005/06/23(木) 21:50:37 ]
- 相変わらずちょっと空けるとずいぶん流れてるなー。このスレ。
あらかじめ断わっとくと、間違ってもソースコードはいらないから。 じゃあインベーダーの話をしよう。 >>25 >要はインベーダゲームを作るときの自機、敵、弾、このオブジェクトを >そのままクラスという形でソースコードに反映することができること。これがオブジェクト指向でしょ。 >この基本は絶対に変わらない。 >プログラムに多少疎い人でも、インベーダゲームで自機、敵、弾に相当するクラスが >無かったら真っ先に担当者を問い詰めることができる。 >これがオブジェクト指向の単純な利点だ。 でさ、まず自機、敵、弾のオブジェクト(クラス)を作るじゃん。 1)自機に弾が当たったかどうかっていう判断をする処理をどっかに書くでしょ。どういう風に設計するの? 2)同じように敵が弾に当たったかどうかっていう判断をする処理をどっかに書くでしょ。どういう風に設計するの? でさ、1と2って同じ処理だよね。やってることは。 どういう風に設計・実装するのか知りたいわけですよ。俺は。 俺がやるならどうやってもデザインパターンを使わずには作れないから。 っていうより、俺の能力じゃあ、どう書いても、誰かがこれはデザインパターンでいうなんとかパターンっていうものですよ。って言うだろう。俺がそのパターン名を知らなかったとしてもさ。
- 176 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 21:55:29 ]
- 抽象クラス「キャラ」から「自機」と「敵」を継承させて
HitTest()は「キャラ」に実装するのが普通でしょう。 そのレベルではデザパタは別に関係ないし、例として適切じゃない気がするが。
- 177 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:10:50 ]
- つうかなんでいつも例がゲームなんだよ
中学生かよ
- 178 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:12:38 ]
- 懐かしの「オブジェクト指向は戦場では必要無し」スレの
香りのするスレはここですか?
- 179 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:13:56 ]
- しかもまた「オセロ」でも書いて説明しるって言ってるし。
オマイたちは本当に進歩しませんね。
- 180 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:29:20 ]
- >>176
で、弾もあるよね。自分も敵も弾もそれぞれ座標(現在地)持ってるよね。 自分オブジェクトは1個かもしれないけど敵とか弾はたくさんオブジェクトがあるよね。 やっぱりループで回すよね。 ここまででデザパタは1つも出てこないのか? >>177 じゃあ代わりに適切な例を上げて。
- 181 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:32:32 ]
- ゲームならオブジェクト指向でほぼOKでしょ。
俺が知りたいのはJ2EEアプリをJ2EEパターンを使わないで アンチの主張する「オブジェクト指向設計」のみでどうやるのかに興味がある。 どんなに素晴らしいモノなのか、教えてもらいたいものだよ。 本当にできるならねw
- 182 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:41:18 ]
- >>180
「弾」も「キャラ」から派生させれば問題なかろ。 もう少し条件つけんとCompositeだのFlyweightだのは出てこんぞ。
- 183 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:43:44 ]
- そういえば彼はJ2EEの話に対して1回「出来る」ってレス返しただけであとは完全スルーだったな
- 184 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:48:02 ]
- 仕事した事ないんだろ
- 185 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 22:50:33 ]
- J2EEアプリであるための条件って何なんだ?
helloworld.jsp だけでいいんなら、別にパターンいらないぞ
- 186 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 23:14:01 ]
- >>181
前提が間違ってる。 崇高なオブジェクト指向を信奉する彼は邪悪なJ2EEなんて使わない。 彼なら最初にAPサーバを書くところから始めるに違いないw
- 187 名前:デフォルトの名無しさん mailto:sage [2005/06/23(木) 23:41:58 ]
- >>186
だよな。「Servlet」というフレームワークや実装パターンのカタマリみたいな プラットフォームは拒否るだろうからね。
- 188 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 00:25:49 ]
- 今のところ肯定派の圧勝か。。
- 189 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 00:39:14 ]
- アンチは理想論ばかり振りかざして具体例をまったく出せていないからね。
- 190 名前:いつものアンチ [2005/06/24(金) 01:03:27 ]
- 奇跡だ!
まともな質問が! >>175 >1)自機に弾が当たったかどうかっていう判断をする処理をどっかに書くでしょ。どういう風に設計するの? >2)同じように敵が弾に当たったかどうかっていう判断をする処理をどっかに書くでしょ。どういう風に設計するの? > >でさ、1と2って同じ処理だよね。やってることは。 >どういう風に設計・実装するのか知りたいわけですよ。俺は。 これはオブジェクト指向で設計をしていれば、 オブジェクトの抽出のときに自機と敵が存在するフィールド(シーンのがいい?)のようなものができると思うから そこに処理をかけばいいと思うよ。(なければフィールドクラスを作る。) そのフィールドでの出来事だしね。
- 191 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 02:03:47 ]
- >>190
その"フィールド"をメディエイターとしてするのかな? あと、敵キャラの動きとかはストラテジーパターンで表現できそうだ。 あと「スコアカウンタ」から「敵オブジェクト」を オブザーバーパターンを使って監視しておけば 得点の加算ができそうだね。
- 192 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 04:04:33 ]
- お前らシングルトンも知らないのw
死ねば?
- 193 名前:デフォルトの名無しさん [2005/06/24(金) 07:07:21 ]
- >>191
>あと「スコアカウンタ」から「敵オブジェクト」を >オブザーバーパターンを使って監視しておけば >得点の加算ができそうだね。 ん?これは何をやってるの? もし、クラスのインスタンスの数を数えてシステムに反映させているなら 設計が悪いと思う。
- 194 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 10:28:59 ]
- >>191
アンチの人にパターン名で解説しても話が通じんだろ。 >>193 「スコアカウンタ」のインスタンスが一つあって、 敵オブジェクト一つ一つにその「スコアカウンタ」のインスタンスを持たせておいて、 敵オブジェクト自身が死んだときに「スコアカウンタ」に点数を報告するって方法では? 設計悪いかな?漏れはまあいいんじゃないかなと思うけど。
- 195 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 10:46:38 ]
- 課題のインベーダー程度ならともかく
複数人同時プレーやもうすこし複雑なスコアシステムや設定によるスコアシステム自体の切り替えなどを考えると シングルトンのスコアシステムに必要そうな情報全てを付加したスコア発生メッセージを通知するのがベター 嫌な設計だが
- 196 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 10:49:06 ]
- 細かいところは分からないけど、全体的にMVCっぽくなりそうな...
- 197 名前:194 mailto:sage [2005/06/24(金) 11:30:53 ]
- >>195
複雑なスコアシステムだったとしても、 オブザーバに報告する内容をすこし増やせばいいんでない? シングルトンだと、設定によるスコアシステム自体の切り替えはきつそうな希ガス。
- 198 名前:デフォルトの名無しさん [2005/06/24(金) 21:25:27 ]
- >>194
>敵オブジェクト自身が死んだときに ゲームだとこの死んだときってのが微妙でね。 オブジェクト自身が本当に消滅したときなのか、 敵が死体で転がってる状態なのか、ってのは微妙でしょ。 だから、ゲームの仕様でインスタンスだのオブジェクトだのが出てくる人間の プログラムはちょっと気を付けてみることにしてるw もし、部下がインスタンスの消滅を見てゲームを動かしてるのを発見したら 俺の環境だと即組み直しw まあ、将来の為。 あ、これはデザパタとかオブジェクト指向とか関係無いから。
- 199 名前:デフォルトの名無しさん [2005/06/24(金) 22:33:12 ]
- > 部下がインスタンスの消滅を見てゲームを動かしてるのを発見したら
意味不明。
- 200 名前:デフォルトの名無しさん [2005/06/24(金) 22:58:38 ]
- >>199
そのままの意味だけど? これ以上詳しくはできない。
- 201 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:05:28 ]
- 単に死体になってるだけ=ただの状態変化
実際にゲームから消滅した=オブジェクトの消滅 として設計され、管理されているなら > インスタンスの消滅を見てゲームを動かし ていても問題ないのでは?
- 202 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:06:02 ]
- SE にとって重要な能力の一つは 自分の考えを簡潔かつ適切に他人に伝える だと思う
- 203 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:07:08 ]
- >>202
違うな。 どんな人間にも平気で嘘がつける度胸だ。
- 204 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:08:52 ]
- >>201
それが駄目なことについて延々と語るつもりは無いな。 いいと思うなら自由にやってくれ。
- 205 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:09:46 ]
- 平気で嘘がつける = 適切に
- 206 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:10:32 ]
- SEなんて日本だけの腐れ職業のことなんざどうでもいいよ
- 207 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:11:14 ]
- またゲームかよおまえら
ゲームつくるのにデザパタはたいしていらんぞ
- 208 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:12:22 BE:393339078- ]
- 平気で嘘をつけない奴のほうが稀な気が。
- 209 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:13:26 ]
- そうだな日本は偽装派遣天国だしな
まあ面接でちゃんと問い詰めればすぐバレるけどな 問い詰めちゃいかんらしい
- 210 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:14:51 ]
- >>201
ポインタ使いまわしてて、消滅したはずのオブジェクトが復活する(したように見える)バグがでるに一票。 危険な道は避ける。 これがわからない人間にゲームプログラマは難しい。
- 211 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:17:34 ]
- >>210
それはメモリ管理が出来ていないと言っているに等しいと思うんだが....
- 212 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:22:40 ]
- >>211
メモリの管理はできてるでしょ。 メモリは破壊していないし、はみ出してもいない。 ただ、ポインタを使いまわしてしまっただけの話さ。 まあ、敵クラスを作った人間以外の人間が敵クラスを使うときは要注意といったところだね。 鉄則としてヌル判定をするポインタの使い回しは死んでもしないとか、 就業規則に書いておけば自分の責任にならなくて済むと思うよ。
- 213 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:24:05 ]
- >>194
ん〜、結局同じな気がする。 一瞬、変更に対して強いかな?とも思ったんだけど、「必要そうな情報」に幅がないし 幅を出すと結局変更が両者に及ぶから変わらない。 キャラクタ→スコアシステム#update→キャラクタ#getScore これ以外の流れというのがちょっと見えてこない。 >>197 元発言者の意図とかみ合ってるかは不明なんだけど・・・・・・ シングルトンをファクトリに生成させるパターンなら切り替えは可。 ScoreSystem scoreSystem = new ScoreSystemFactory(設定) もう常套句すぎてアレなんだけど、こんな感じ。
- 214 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:35:04 BE:568936499- ]
- Factoryをnewするのか?(・∀・)ニヤニヤ
隔離スレがパターンの話題で盛り上がって 本スレがスレッドストップとはこれいかに。(゚ε゚)キニシナイけどな。
- 215 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:35:56 ]
- >>212
それは、ダングリングポインタを参照してしまったということだから、 広義ではメモリ管理が出来ていないに等しいと思う。 本来、誰かが使っているならそのポインタは削除してはいけない。 ま、それを完全に保証することはしばしば非常に困難であったり 不可能であったりするのは事実だが
- 216 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:38:44 ]
- メモリ管理できてねぇだけじゃん
インスタンスの生成、消滅の責任とタイミングをキチンとしないからそうなる
- 217 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:40:13 ]
- >>214
あっ!orz うるせ〜、超省略表記なんだよヽ(`Д´)ノウワァァン
- 218 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:40:14 ]
- >>216
でも、この場合は誰の責任になるの? 敵クラス?敵管理クラス?メモリ管理クラス?
- 219 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:42:05 ]
- >>215
でしょ。ポインタ頼みのステータス管理なんてやらないにこしたことないんだよ。
- 220 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:42:38 BE:505721489- ]
- ところで複雑なスコアシステムってどんなのがあるの?
あんまりいろんな種類のゲーム知らないから単純なポイントの加算しか思い浮かばない。
- 221 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:45:10 ]
- >>219
いや、それはいいすぎ.... まあ、参照関係が複雑な有向巡回グラフみたいになると手におえなくなりがちなのは 確かだが、常にそうだというわけではないし、参照カウンタで済む場合は それを使うという手もある。
- 222 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:45:12 ]
-
ゲームの場合例えば敵キャラが消滅したら即deleteするのはありえない ゲームタスクのループ内で自機が参照してるかも知れないし 他の敵も参照してるかもしれない 敵キャラに消滅フラグなりなんなり持たせて ゲームタスクのループとは別フェイズで実際にdeleteなりメモリプールに戻すなりする ってデザパタ関係ないな
- 223 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:45:31 ]
- ボーリングは少しメンドイ。
マージャンとかかな。
- 224 名前:222 mailto:sage [2005/06/24(金) 23:45:54 ]
- >>220
- 225 名前:223 mailto:sage [2005/06/24(金) 23:46:46 ]
- 222すまん、レスつくの速すぎて慌てた。
>>220
- 226 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:49:47 ]
- >>221
でも本音ではしっかりステータス管理してもらったほうがいいでしょ。 よくないよ。議論に勝つ為のレスなんてつけるもんじゃない。
- 227 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:52:12 ]
- >>226
なぜだッ!! なぜ貴様に俺の心が読み取れるんだッ!!!
- 228 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:52:25 ]
- >>223
マージャンとインベーダーの間で再利用するの? されは流石に無理ないか?
- 229 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:55:43 BE:442506097- ]
- >>223
あぁ、なるほど。 敵の消滅とかの話が出てたから、 シューティングっぽいゲームばかりを想像していたヨ。 >>228 マージャンだと点数の計算方法が複数ある…気がしたような気がしないような。 なので切り替えられると便利かもしれない。
- 230 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:56:50 BE:168574346- ]
- さすがに異種ゲームの点数計算クラスを共有しようとは誰も考えないと思うので。
- 231 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:16:23 ]
- >>214
相変わらず僻みっぽい馬鹿だな。 とりあえず pc8.2ch.net/test/read.cgi/tech/1119158274/14-15 のリンク先くらい読んでから煽れクズ
- 232 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:20:00 ]
- 結局、>>198からの議論は、「オブジェクトを(ゲーム上)消したことに
すべきタイミングと、実際に消していいタイミングは必ずしも一致しない」 (通常後者のほうが遅い) ということに尽きるのかな。 一言で言えるんだから、一言で言えばいいのに。
- 233 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:21:35 ]
- まぁ、>>213がド素人なのは誰の目にも明らかだがなw
Singletonの生成にはコンストラクターを使わない。つまり、getInstance()とかで生成する。 Factoryの目的は、どのサブクラスのインスタンスを生成するか、という点を抽象する事にある。
- 234 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:24:05 ]
- class Singleton {
static object m_Foo; static object m_Bar; static object getFoo() { return m_Foo; } static object getBar() { return m_Bar; } } ではなぜまずいのでしょうか getInstance()とかいちいちウザいです
- 235 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:30:39 ]
- スルー。
- 236 名前:214 mailto:sage [2005/06/25(土) 00:34:49 BE:210717465- ]
- >>231
相変わらず汁が先走ってるな。 とりあえず >>213-214 >>217 の流れを見て 自分の過ちと傲慢さを理解して恥じろ。
- 237 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:36:54 BE:126431429- ]
- >>232
注意点は一言で言えるが実装は一言で言えないぜ。
- 238 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:39:54 ]
- >>237
流石に実装まで示せとは誰も言ってないじゃまいか。
- 239 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:41:23 ]
- >>238
もう、日本は終わったんだよw
- 240 名前:237 mailto:sage [2005/06/25(土) 00:44:23 BE:505721298- ]
- >>238
>>198-〜の実装の議論は少し有意義に見えたが。
- 241 名前:234 [2005/06/25(土) 00:49:32 ]
- 華麗にスルーされちゃってぼくちん少し寂しいの
てへ
- 242 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:53:55 ]
- >>241
俺はアンチなんだけど それって実体はいつできるんだ? 呼び出す前からできちまってる気がしねぇ?
- 243 名前:234 mailto:sage [2005/06/25(土) 00:56:37 ]
- コンストラクタはstaticにすればいいんじゃまいか
つか、それだけの問題で まいかい Singleton timpo = Singleton.getInstance(); bokkiage = timpo.invoke(); とかやるのはいやです。
- 244 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:57:06 ]
- 目的は「インスタンスを1つに固定する」だからいいじゃん
- 245 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:57:15 ]
-
華麗なる素人スレ
- 246 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:58:12 ]
- >>243
bokkiage = (Singleton.getInstance()).invoke();
- 247 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:59:32 ]
- >>234
仮想コンストラクタで検索。 一般に、クライアントコードが簡素になる点と 融通が効く点が利点して上げられてる。
- 248 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:00:36 ]
- >>243
それじゃおめ、 そうやって組んだしんぐるトンは通る可能性のあるものに関しては実行時にすべて生成されてしまうわけだな? つ 逝ってよし
- 249 名前:234 mailto:sage [2005/06/25(土) 01:02:39 ]
- >>247
継承を考えてなんとなく柔軟性を持たせたいというのは分かりますが 実際には、継承なんかしないクラスこそシングルトンの候補であることが 非常に多い気がします。 その場合には、闇雲にシングルトンにせずとも構わないんでしょうかね。 「クライアントコードが簡素に成る」については全く納得がいきません。 メンバがstaticであれば (Singleton.getInstance()).invoke(); ではなく Singleton.invoke(); と書けるでしょう。
- 250 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:04:50 ]
- まあ、いつみてもデザパタは役に立たないよね。
- 251 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:06:04 ]
- なんでSingletonの話題しか振れないの?
重箱の隅しか突付けない哀れな煽りだ
- 252 名前:234 mailto:sage [2005/06/25(土) 01:07:00 ]
- ぼく、あおりじゃないのに(; ;)
- 253 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:07:14 ]
- ======================================================================
このスレは厨房を隔離するための隔離スレです。。。 ======================================================================
- 254 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:07:54 ]
- >>234 → >>243 → ぬるぽ
- 255 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:16:10 ]
- >>252
お前はネタw
- 256 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:20:06 ]
- >>249
インベーダーの例に戻って言うと、当初のスコアシステムに ハイスコアの記録機能を追加した新スコアシステムを作る 場合、継承するのが妥当なんじゃない?
- 257 名前:234 mailto:sage [2005/06/25(土) 01:21:39 ]
- >>256
その場合、旧スコアシステムと新スコアシステムが共存しないのであれば 継承する必要は無いと考えますが。
- 258 名前:234 mailto:sage [2005/06/25(土) 01:22:03 ]
- >>255
ぼくでおなにーとかはしないでください こわいので
- 259 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:24:55 BE:245837257- ]
- 単なる関数郡として使うだけならstaticでいいと思う。
- 260 名前:234 mailto:sage [2005/06/25(土) 01:26:34 ]
- >>259
それは、いわゆるUtilityクラスのような、状態の存在しないものですね。 それについて異存のあるひとはいないとおもいます。 ぼくがいっているのは、状態が存在するが、システムでユニークなクラス のことです。とゆうか、Singletonというのは、そのようなものでしょ?
- 261 名前:234 mailto:sage [2005/06/25(土) 01:27:07 ]
- > システムでユニークなクラス
ちょっとはしょりすぎた すみません、酔っているので
- 262 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:27:20 ]
- >>249
Foo foo = Singleton.getFoo(); Bar bar = Singleton.getBar(); Foo foo = Singleton.getInstance("Foo"); Bar bar = Singleton.getInstance("Bar"); 後者の方が簡素というか、動的に生成物を変更するのが楽。
- 263 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:30:31 ]
- まぁ文字列渡すよりは、
・コンフィギュレーション選択用の定数か、 ・コンフィギュレーションを表すオブジェクト を渡すべき
- 264 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:32:54 ]
- >>260
それは「グローバル変数」だ。悪。 シングルトンでは「状態のないもの」を表現する。 たとえば、「ストラテジーパターン」で使うストラテジーオブジェクトとか、 「ステートパターン」で使うステートオブジェクトとか。 「ファクトリー」もそうだ。
- 265 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:34:21 ]
- >>257
オブザーバーパターンとのかみ合わせを考えてみて。 public class Enemy { addObserver(ScoreSystem ss) {} } ↑こうなってた場合、継承が必要。 public interface Observer {} public class Enemy { addObserver(Observer observer){} } ↑こうしとかないオマイが馬鹿と言われれば、だよね〜 としか言い様がない気もするが・・・・・・
- 266 名前:234 mailto:sage [2005/06/25(土) 01:34:27 ]
- >>254
え? ぼくの認識では、メンバ変数はすべからく「状態」だと思っているのですが 間違いですか? なんか、ちょっとはつみみな所見です。
|

|