デザパタ140文字

140文字でデザインパターンを説明しようのまとめ。 ハッシュタグは #dp140 で進行中。 このリストは誰でも編集可能です、追加に気付かれた方は是非編集をお願い致します。
115
@tail_y

Factory Methodと、Abstract Factoryの、構造的な違いは分るんだけど、どう使い分けるかが正直わかんないんだ・・・。 #dp140

2010-04-22 23:32:07
@doke

Factoryも何種類か用意したいときは抽象化するみたい。http://bit.ly/94hwC0 RT @tail_y: Factory Methodと、Abstract Factoryの、構造的な違いは分るんだけど、どう使い分けるかが正直わかんないんだ・・・。 #dp140

2010-04-22 23:52:33
@ms2sato

@tail_y AbstractFactoryは大きな範囲でごっそり変えるシーンに良く使われ、FactoryMethodはより範囲が小さいと自分は思っています。 #dp140

2010-04-23 08:59:55
@ms2sato

@tail_y 例えばUnitTest時に「テスト環境」用の共通概念があって複数のインターフェースで表現されるならAbstractFactoryで生成。でも、ある単体クラス用のモックの生成ならFactoryMethodで生成。みたいな。あくまで自分の解釈ですが。 #dp140

2010-04-23 09:07:24
@tail_y

Visitorパターンの説明が、鬼難しいんですが・・・。

2010-04-22 23:35:12
@tail_y

Visitorパターン複雑な構造をしたクラスからデータを取り出したいときに、スーパーエージェント(黒服サングラスのイメージ)を作って飛び込ませる。帰ってきたエージェントの変数に、欲しいデータがきっと入ってるはず。実装が面倒くさいです。 #dp140

2010-04-22 23:45:04
@mochi_arisa

非Visitor:自己申告、Visitor:身体検査。で、いいのかしら。 #dp140

2010-04-22 23:54:56
@tail_y

たぶん、、これで・・・全部・・・だ・・・・・・。 #dp140

2010-04-22 23:46:10
@anubon

デザパタ後から勉強したけど、知らぬ内にいろいろ使っていた

2010-04-22 22:51:43
@ikekou

今日のデザパタTLは勉強になりすぎる。みなさんありがとうございます。

2010-04-22 23:54:03
@tail_y

コンストラクタとか、インスタンス、オブジェクトって単語はなるべく使わないように心がけました。慣れていないと、こういうカタカナは飛ばして読んでしまうので #dp140

2010-04-23 00:09:33
@tail_y

個人的オススメパターンは、State、Template Method、Proxy、Commandかなぁ。PrototypeとかFlyweight、Observerは知らないうちによく使う。 #dp140

2010-04-23 00:12:12
@tail_y

デザパタは知らずに使うくらい、そんな大したものではないってことが伝われば嬉しいです。 #dp140

2010-04-23 00:14:24
@nyamogera

デザパタはほかのプログラマと交流するために名前覚えた方が良いって聞いたことある。 名前があることでここはこれですればいいよとかの説明が短くなおかつ正確にできる。 wikipediaにもあるけどただのカタログなんだよね。 #dp140

2010-04-23 00:40:35
@asahiufo

Strategyパターンアクションゲームを作る上で超便利です。移動やジャンプ等の動作をキャラクター毎に選択的に設定できます。動作毎にインターフェイスを定義したらいいよ! #dp140

2010-04-23 00:41:15
@ledsun

Template Methodパターン:メソッドの数や呼び出し順までそっくりなクラスが二つできた、どうにか共通部分を一箇所にまとめたいよね。親クラスを作って、同じ処理を入れとけばよくね?それがお前のTemplate Methodパターン! #dp140

2010-04-23 07:58:00
@tail_y

Mediatorパターンクラスの中に他のクラスを入れる変数がいっぱいあって、他のクラスもそんな状況でお互い変数に入れあってて、入れ替わるたびにお互い渡しなおして!あーもう!って時はその変数まとめて持つクラスを1個作って、そいつに管理させるとすっきり。 #dp140

2010-04-23 16:55:16