1 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 19:09:56 ] そもそもデザインパターン自体どうなのよ?って話はここでやれ。
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 え? ぼくの認識では、メンバ変数はすべからく「状態」だと思っているのですが 間違いですか? なんか、ちょっとはつみみな所見です。
267 名前:234 mailto:sage [2005/06/25(土) 01:36:31 ] >>265 いやその、共存する必要が無いのであれば、インタフェースを変えずに スコアシステムの「実装」を変えればいいだけなのではないかと。 なにか勘違いしていますか?ぼくは
268 名前:234 mailto:sage [2005/06/25(土) 01:37:33 ] >>262 それはちょっとSingletonといいつつFactory風でもありますね。 そういうニーズがある場合には、確かに意義がある気がします。 あまりそういうケースが多くは無い気はしますが。
269 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:40:49 ] デザパタ役に立って無いよ。 そろって馬鹿だな。 デザパタとか別にしても。
270 名前:259 mailto:sage [2005/06/25(土) 01:40:47 BE:379290896- ] >>260 いまいちやりたいことが分からないなぁ…。 Singletonが1種類のオブジェクトしか返さなくて、 将来その仕様に変更がないと言い切れるなら いっそ状態もstatic管理でいいと思う。要するにSingleton不要。 デザパタは仕様変更に柔軟に対応するための手段だと思うから。
271 名前:デフォルトの名無しさん [2005/06/25(土) 01:42:57 ] >>264 このスレ読んでると、どんどん悪い癖、迷信に染まっていく傾向があるな。 状態はグローバル変数だから駄目? それはあんたの信念であって、広く認められているSingletonの定義より狭いやん。 例えばアプリケーションの設定を Singletonに置くとして、 設定を変更する事は充分ありえる。つまり、Singletonに状態を持たせる事は充分有り得る。 GoF日本語版 p138 ◎結果 Singletonパターンの効果を次にあげる。 1.インスタンスへのアクセスを制御する。(詳細略:唯一のインスタンスなのでアクセスチェックが簡単) 2.名前空間を減らす。Singletonパターンはグローバル変数の改良である。唯一のインスタンスを格納するグローバル変数 (注: C++, Smalltalk)を宣言する必要はなくなる。 3.オペレーションや内部表現を詳細化できる。(詳細略:Singleton のサブクラス化に関する話) 4.インスタンスの数を変えることができる。(詳細略:インスタンス数を2つ以上に変更する事も容易) 5.クラスオペレーションよりも柔軟である。(詳細略)
272 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:43:38 ] >>270 Visitorが状態を持たないとき、 それでもオマイさんは Visitorをnewしますか?
273 名前:234 mailto:sage [2005/06/25(土) 01:43:59 ] >>270 いやその、「仕様変更」に対するデフォルトの対応が「継承」である、 というほうがぼくにとっては不自然なのですが。 たとえばオブジェクトのシリアライズ方式がv1とv2で変わっていて 両者に対応しなければならない、とかいうケースであれば、継承を 使うのは理解できます。 しかし、そもそも「唯一」であったものに、「継承」を適用するケース って、そんなに多いのかな、と。普通、継承は、複数のものの差異を 選択的に無視したい場合に用いますよね。単純化のしすぎですが。
274 名前:デフォルトの名無しさん [2005/06/25(土) 01:45:29 ] つまりさ、このスレの白熱議論っつうのは、 すべからく >>264 みたいな素人の迷信暴言が発端なわけ。 くだらねぇんだよおまぃらの議論は
275 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:45:47 ] >>271 GoF本にはそんなこと書いてなかったけど 一体いつ定義されたの?
276 名前:234 mailto:sage [2005/06/25(土) 01:45:57 ] ぼくのほうが知
277 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:46:13 ] >>274 面白い議論キボン
278 名前:デフォルトの名無しさん [2005/06/25(土) 01:46:26 ] >>275 恥を知れクズが
279 名前:234 mailto:sage [2005/06/25(土) 01:46:38 ] とぎれた ぼくのほうが素人だもん とか書こうとしたのに
280 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:48:33 ] >>278 かかってこいよ厨房w
281 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:48:39 ] >>266 =>>234 おまぃは誤爆してる上、 >>234 の定義で>>243 するとNullPointerExceptionがおきるつう認識もない・・・ ・・・Singleton書いた事あるぅ?(>>262 を参照汁)
282 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:49:13 ] >>267 差分プログラミングと開放/閉鎖原則で検索。
283 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:49:47 ] >>280 は底知れない白痴厨房。GoF本手元に置かずにそんな煽りやってるとは抱腹絶倒だな。
284 名前:234 mailto:sage [2005/06/25(土) 01:50:29 ] >>281 あ、>>234 の例はただの非常に単純化した例ですので。 いいたいことは、メンバを全てstaticで実装し、初期化はstaticコンストラクタ で行うようなクラスをSingletonの変わりにして何かまずいのか? ということに過ぎません。
285 名前:デフォルトの名無しさん [2005/06/25(土) 01:51:10 ] >>271 の該当ページを読んでみたらぁ?
286 名前:234 mailto:sage [2005/06/25(土) 01:52:42 ] >>282 メイヤー先生ですか。 私としては、もう使いもしないv1のコードが残っているのは違和感を感じますがね。 それに、元のデザインが非常によくできていて、適切なフックなどが容易されていない 限り、継承してメソッドをオーバーライドするより元のメソッドそのものを 書き換えることのほうが容易であることも多い気がします。
287 名前:234 mailto:sage [2005/06/25(土) 01:53:59 ] 実際、バージョンアップの際に常に継承で対応するという開発手法は どれぐらい一般的なんでしょうか? もとのクラスを書き換えるのは、邪悪? open/close原則を厳密に適用すれば、そういうことになってしまいますね。
288 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 01:54:51 ] で? 好きにすりゃえーやん。 漏れは藻舞を説得するつもりはねぇ〜し
289 名前:259 mailto:sage [2005/06/25(土) 01:55:54 BE:189645293- ] >>234 はSingletonにこだわらないほうがいいと思われ。 もうこれは個人個人の開発スタイルなので。 それでも共同開発時はSingletonをお勧めしたい。
290 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:00:01 ] >>287 アンチの俺から言わせると、 一般的なわけねーだろ。 あきらかに継承の使い方を間違ってる上に悪用としかいいようがない。 アホだアホ。マジで救いようがねー。
291 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:03:49 ] 哀れなもんだ 煽れる時に煽るだけで、 中身は空っぽだもんな、おまえ
292 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:04:28 ] >>268 仮想コンストラクタはファクトリとシングルトンの合わせ技だから ニーズは普通にあると思うよ。 オセロの例に戻ると、プレーヤーを動的に変更したいというのは自然でしょ?
293 名前:234 mailto:sage [2005/06/25(土) 02:04:40 ] ぼくは、あおりじゃないんだもん(; ;)
294 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:05:42 ] >>291 オマエモナーw
295 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:06:35 ] >>284 1つのクラスが複数のstaticメンバ変数を管理するのはいくない。
296 名前:234 mailto:sage [2005/06/25(土) 02:07:54 ] >>292 ニーズは、あるでしょうね。 ぼくは、実はSingletonでなくていいのに 「いまどきSingletonじゃないと、女のコにモテないぞ」 「グローバル変数はダサ!Bjarne stroustrupが何と言おうと絞め殺せ」 「static記憶クラス?そんなん、石器時代の遺物でしょ?」 とかそんな理由でSingletonにされているケースも、結構おおいんじゃないの? と、そういいたかっただけです。
297 名前:234 mailto:sage [2005/06/25(土) 02:08:21 ] >>295 それは、なぜでしょうか。
298 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:08:44 ] >>291 文体と主張だけで彼は特定できる。 だから、スルーして淡々と進めてるだろ?お前さんもスルーするよろし。
299 名前:デフォルトの名無しさん [2005/06/25(土) 02:10:45 ] デザパタ信者は巣に帰れよ。 pc8.2ch.net/test/read.cgi/tech/1119158274/l50 ここでデザパタを使う前提の話をするな。 ここはデザパタの存在の可否を決めるスレだ。 #大体、デザパタなんて誰も使ってないんだから過疎スレで #まとまってろってのw #アンチをこっちに隔離したとかほざいてたくせにアンチ追い出したら #ただの過疎スレになってやんのwバーカw
300 名前:デフォルトの名無しさん [2005/06/25(土) 02:11:45 ] >>298 ここじゃ荒らしはお前の方なのw わかったらさっさと過疎スレ帰れよw
301 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:12:20 ] >>297 クラスの役割が訳わかんなくなるから。
302 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:13:14 ] >>299-300 哀れな奴
303 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:13:38 ] >>302 ヒント:スルー
304 名前:デフォルトの名無しさん [2005/06/25(土) 02:14:54 ] >>302-303 本気で帰ってよ。 デザパタ語るなら向こうが本スレだからw
305 名前:234 mailto:sage [2005/06/25(土) 02:15:01 ] >>301 ぼくは頭が悪いので、やはりそれでは理解できませんね。 確かに全てをstaticで実装すれば、クラスはただのグローバル変数+関数と それをつつむnamespaceに同等のものになるでしょう。 で、それが何か問題なのですか?
306 名前:デフォルトの名無しさん [2005/06/25(土) 02:16:01 ] >>305 >何か問題なのですか? だからここはデザパタの可否を決めるスレだっつってんだろ! 荒らしが!
307 名前:デフォルトの名無しさん [2005/06/25(土) 02:18:16 ] >>305 だいたい、何、頭に血上らせて必死におばかな議論してんだ、厨房。 グローバル変数を1つも使わないプログラムとかみたことないのか? 使ってる時点でレベル低すぎだってのにいらいらすんだよ。 お前みたいな馬鹿みてると。
308 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:18:25 ] >>296 の発言で、もう>>234 はネタ決定だな。 わざわざSingletonが当てはまらない想定を持ち出して煽ってるんだから、 別にSingleton勧めるいわれはないじゃん。 >>234 もそろそろ初心者プログラミング相談室にでも相談してみたらどう?
309 名前:234 mailto:sage [2005/06/25(土) 02:19:24 ] >>295 さんの主張で一番よく分からないのは、 「1コのstaticメンバならOKだが、複数だとNGになる」 という理由です。 そこのところをもう少し分かりやすく説明していただけませんか。 寡聞にして聞いたことの無い主張なものですから。
310 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:19:33 ] >>307 も変な奴だな。 Singletonはグローバル変数の代わりをスコープに入れている。 つか、Javaじゃグローバル変数なんてないし。
311 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:19:46 ] >>305 そういうことすると、そのクラスが何してるか(何を管理しているクラスなのか)、 後から見た人はわかんないでしょ。コード追っていかないと。 だからクラスの役割ははっきりさせる必要がある。
312 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:19:53 ] >>287 利点もあるし、難点もあるな>継承 Javaなんかだと、最近は継承よりも委譲とインターフェイスを 優先する風潮がある。 ソースの書き換えは、規模が大きくなると変更が他の部分に 影響を与えてドタドタドタっとドミノ倒しになる事がある。 それじゃあ継承ならそうならないかって言うと、まぁそうとも言 い切れんわけだが・・・・・・ まっ、それでinterfaceを多用する風潮が生まれたんだろう。 これならインターフェイスのみを残して新しく書き起こす場合 でも、継承を利用する場合でも、変更部分を局所化できる。
313 名前:234 mailto:sage [2005/06/25(土) 02:20:50 ] >>308 いやその、パラメタライズされていないgetInstance()を使う Singletonの例は多いと思うのですが。 パラメタライズされている場合については、了解しました と言っておきましょう。
314 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:21:03 ] >>312 >Javaなんかだと、最近は継承よりも委譲とインターフェイスを >優先する風潮がある。 Java「なんかだと最近」?はぁ? 最初っからそうだよ厨房
315 名前:デフォルトの名無しさん [2005/06/25(土) 02:21:24 ] >>310 はぁ?デザパタ信者ってのは、 グローバル変数の何がまずいのか知らないのか? アホだな。レベルが低すぎる。 もうちょっと勉強してきてくださいよw
316 名前:234 mailto:sage [2005/06/25(土) 02:22:28 ] >>311 >>309 に答えていただけませんか。やはりよくわからないんですが。 なぜstatic変数が吹く数字なると 「後から見た人はわかんない」ようになるのか。
317 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:23:05 ] 語尾ダブリューの人、なんか話題がtoo oldで哀れ
318 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:24:00 ] >>316 俺も聞いておきたい。つか、ネタかローカルルールだと思っている。
319 名前:デフォルトの名無しさん [2005/06/25(土) 02:24:11 ] >>311 が逃げてるのがよくわかるなw ほら、本スレに逃げ込めよw
320 名前:234 mailto:sage [2005/06/25(土) 02:24:23 ] >>312 ぼくがinterfaceに対するプログラミングの一番の恩恵を認識したのは 実はC++のリンク互換性なんですがね。 COMの発想のベースはそこにあります。大変汚いものですが。
321 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:25:20 ] なんかかなりネタ臭いスレになってきたな。
322 名前:デフォルトの名無しさん [2005/06/25(土) 02:26:15 ] >>321 お前は速く>>309 の質問に答えてやれよw
323 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:26:57 ] >>311 , >>316 実は、Singletonってインスタンスが2つ以上あってもいいんだよね。 つか2つ以上生成した時点で、狭義のSingletonとは見なされない傾向があるが。 例えば某所で話題になっていたInstance PoolとかConnection Poolみたいなパターンになっちまう。
324 名前:デフォルトの名無しさん [2005/06/25(土) 02:27:55 ] >>323 だからどうしたんだよ。余計なレスつけんなアホ。
325 名前:234 mailto:sage [2005/06/25(土) 02:28:33 ] >>323 Poolのようなものならば、PoolManagerが欲しい気がしますね。Singletonの。
326 名前:デフォルトの名無しさん [2005/06/25(土) 02:31:24 ] >>325 お。冴えてるやん。 すると、ダンマリ決め込んでる>>311 が回答すべき内容が見えてくる・・・はず・・・なんだが・・・なんともはや
327 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:32:05 ] >static変数が デザパタとか関係なく好き嫌いの問題でしょ、単に。 漏れは嫌だけど。 ↓こんなコード書いてくるチームメンバがいたらはったおしてやるけどね。 class Sigleton { private static Object A; private static Object B; ・・・ private static Object Z; static{ A = new Object(); B = new Object(); ・・・ Z = new Object(); } static public Object getA(){ return A;} static public Object getB(){ return B;} ・・・ static public Object getZ(){ return Z;} }
328 名前:デフォルトの名無しさん [2005/06/25(土) 02:32:55 ] 一向にまとまる気配が無いよ>デザパタ こんなのがコミュニケーションツールでいいんですか?>デザパタ 人によって使い方違ってるじゃないですか?>デザパタ 職場でもこんな戦いをしなきゃいけないんですか?>デザパタ
329 名前:326 [2005/06/25(土) 02:33:17 ] あぁーあ。せっかく回答が見えかけた(つか見えた)のに、 また訳わかんない主張系の人が、スレを混沌に導く・・・・・・もう飽きたから寝る。
330 名前:デフォルトの名無しさん [2005/06/25(土) 02:33:49 ] >>327 つか、マジで本スレ帰れってw
331 名前:デフォルトの名無しさん [2005/06/25(土) 02:34:50 ] >>329 お れ の せ い に な る の は な に か ち が う き が す る ! (笑)
332 名前:234 mailto:sage [2005/06/25(土) 02:40:17 ] >>327 ただの好き嫌いの問題であれば、ぼくの>>296 の主張はあながち ウソでもなかったようですね。 ちなみにそれによっていちいちgetInstance()を書かなければならないことを あなたは面倒であると考えたことはないのでしょうか?
333 名前:259 mailto:sage [2005/06/25(土) 02:41:23 BE:189645293- ] >>329 何に対する回答だ??回答以前に問題が明確でないんだよ。論点あちこち行ってるじゃん。
334 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:42:40 ] こっちの方が盛り上がってるのがウケル。 こっちをデザパタスレにしようよ。
335 名前:寝ぼけまなこでレス mailto:sage 今日のおネグは赤 [2005/06/25(土) 02:44:06 ] >>333 >>311
336 名前:寝ぼけまなこでレス mailto:sage しかもシースルー [2005/06/25(土) 02:45:15 ] >>334 偽デザパタスレ
337 名前:寝ぼけまなこでレス mailto:sage だってあついんだもん [2005/06/25(土) 02:49:49 ]
338 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:51:09 ] 厨房の行動パターン ・メール欄に文章
339 名前:259 mailto:女なのか、そうなのか!? sage [2005/06/25(土) 02:51:15 BE:224765748- ] >>335 static管理したらクラスの役目がわかりにくくなるって? インターフェースが同じなら変わらないだろ。論点にもなりゃしないさ。
340 名前: mailto:sage あ、instanceできちゃう・・・ [2005/06/25(土) 02:52:01 ]
341 名前:259 mailto:338はどうしてこうも野暮なんだ sage [2005/06/25(土) 02:53:01 BE:189645293- ] ム板にもIDキボンヌ
342 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:53:21 ] >>339 >>323 , >>325-326
343 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:54:48 ] >341 お前そんなんだからいつまでたっても0ポイントなんだよ。
344 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:55:58 ] で、アンチの反証は?
345 名前:334 mailto:sage [2005/06/25(土) 02:56:29 ] シングルトンで盛り上がってるのね。 ↓static的としてこうするのがいいのか Singleton.invoke(); ↓シングルトン的にこうするのがいいのか Singleton s = Singleton.getInstance(); s.invoke(); って話ね。 正直、シングルトンだとインスタンスを途中でいじれるぐらいしかメリットないんじゃないかな。 ↓例えば、デコレータでシングルトンのインスタンスにちょっと加工するとか、 Singleton s = Singleton.getInstance(); s = new TuikaKinouSingleten(s); // なにか処理〜 s.invoke(); // なにか処理〜 ↓または途中で中身すり替えをするとか。 Singleton s = Singleton.getInstance(); s = new TestYouSingleten(s); // なにか処理〜 s.invoke(); // なにか処理〜 staticだとそれができなくなるぐらいではないだろうか。 まあ個人の好みで使い分ければよいのではないかと。
346 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 02:58:56 ] >>345 GJ.