
Factoryパターン:クラスを生成するクラスを作りそれを工場(Factory)に見立る。利点としてはサブクラスがどのクラスを生成するのかを決定できること。つまり一番最初に車を作ると定義しておいて、サブクラスがベンツを作ったり、ゴミ収集車を作ったりすることができる。#dp140
2010-04-22 22:33:10
Adapterパターン:メソッドの名前や引数を変えなきゃいけない時に(クラスの処理を揃えたい時とか)書き換える場所が多いならちょっと待って!外側だけ似せた、着ぐるみみたいなクラスを作って変数に中身を入れちゃえば楽かも。…少しくらいならちゃんと書き換えなよ。 #dp140
2010-04-22 22:35:56
Adapterパターンについては、ちょっと語弊があるかも・・・変えるのが面倒くさいからという理由ではなく、他で使われているので容易に変更できない場合に使うものな気もするけど、まあ、そこまで説明すると入らないか。 #dp140
2010-04-22 22:37:36
Interpreterパターン:オリジナルスクリプトを作るときのコツ!というパターンだけど、今日び使わないと思うよ。必要な時に勉強したらいいよ。 #dp140
2010-04-22 22:38:44
Template Methodパターン:空っぽのメソッドを作っておいて、それを自分で呼び出しておく。で、継承したときにメソッドの中身を埋める。動作が変化するものを色々作りたい用。デザパタ知らなくても自然と使ってる人がよくいる。protectedを使うのがコツ。 #dp140
2010-04-22 22:40:44
Compositeパターン:こんぽじっと。階層構造を作る時に心がけるコツ。入れ物と中身に同じ機能があると便利だよってこと。例えばファイルとフォルダで言うと、両方とも同じようにドラッグできるし、名前変更できる。これは、フォルダにもファイルの機能が継承されてるから。 #dp140
2010-04-22 22:49:29
@tail_y AS3のDisplayObjectとDisplayObjectContainerの関係もCompositeパターンになりますか?
2010-04-22 22:53:16
まさにそのとおり #dp140 QT @Nicol_as: @tail_y AS3のDisplayObjectとDisplayObjectContainerの関係もCompositeパターンになりますか?
2010-04-22 22:54:01
Stateパターン:状態をクラス化すること。ゲームで、タイトル画面やメニュー画面を切り替える時とかによく使う。ゲームでなくとも製作中にifとかswitchだらけになってきたら、使いどころかも。どのレベルで切り替えるのか、共通するメソッドは何にするのかが毎回難しい。 #dp140
2010-04-22 22:58:24
Stateパターン:AS3に関して言えば、Progressionを使えということだよ。 http://progression.jp/ja/ #dp140
2010-04-22 23:00:26
わかりにくいw かといってポピュラーな例えもないがRT @tail_y: Stateパターン:AS3に関して言えば、Progressionを使えということだよ。 http://progression.jp/ja/ #dp140
2010-04-22 23:02:39
NullObjectパターン: if(obj != null){ ... } みたいなチェックだらけなら、「"何もしない"オブジェクト」を作ってそれ全部消せば、シンプルでエラーも起きないんだぜ。 #dp140
2010-04-22 22:59:46
Strategyパターン:アルゴリズムを切り替える。Stateパターンとそっくりだけど「目的が違う」らしい。でも、使ったこと無い。なににつかうのこれ #dp140
2010-04-22 23:04:15
Proxyパターン:あるクラスのふりをした別のクラスが先にメソッドを受け取って、加工して本人に渡す。牢獄に手紙出したら本人に届く前に看守が開いて、まずい文章を黒塗りしちゃったりする感じ。見た目に変化が無くても、手紙出した回数とかもこっそり記録 されてたりするよ。 #dp140
2010-04-22 23:13:20
どうも名前覚えるのが苦手で、服屋さんとかでもよく入る店の名前とかも知らなかったりする。雰囲気と位置だけで覚えてるので、人に聞かれて困る。デザパタも使ったりするけど名前は憶え切れない。
2010-04-22 23:16:53
Chain of Responsibilityパターン:命令を優先度が高い順に伝えていって、誰が処理するか決まる。誰かが処理したらそこでストップする。マウスイベントを誰が受け取るか、とかで使われる。誰も処理しないってことがあってもいい場合が多い。 #dp140
2010-04-22 23:18:51
Abstract Factoryパターン:こういうときはこの組み合わせをnew、っていうのが沢山あるときは、クラスをnewする専用のクラスを複数用意して、それぞれ何をnewするか設定しておくと、後で何のためのnewか分りやすくなるよ。 #dp140
2010-04-22 23:29:56
Factory Methodパターン:クラスが沢山になってきて、一度にいっぱいnewするようになってきたら、組み合わせを間違えやすいので、メインとなるクラスに、他のクラスを作るためのメソッドを用意しておくと、間違えにくくていいよ!
2010-04-22 23:24:27