
今なんとなくデザインパターンを見てたけど、どうしてこういう説明って、厳かで分りにくく書かれるんだろうね。噛み砕いて書くと、正確性に欠ける!って怒られるんかな。
2010-04-22 08:29:36
いや、一番いけないのは、デザインパターン完全に理解しないで語るのは恥ずかしいとか、使いこなせないなら使っちゃ駄目とか、そういう雰囲気があるのがいけないんですよ!そんな高尚なものにしてしまうから、解説まで高尚になっちゃって、一部の天才だけのものになっちゃうんですよ。
2010-04-22 08:53:45
よし、デザパタ140文字やるぞ。ハッシュタグ作るから、みんなも教本片手に涙目になる学生をこれ以上増やさないためにも、参加していただきたい。 #dp140
2010-04-22 22:04:35
ちょっと説明も入れておこう。みんなで、1ツイットでパターンを分りやすく説明する。同じパターンが既にあっても書いて良し。突っ込みはOK、こいつ間違ってやんのプークスクスはやめて。細けぇことは気にしない方向だけど、補足も大事だよね。 #dp140
2010-04-22 22:07:19
恥ずかしがらずに自分の分る範囲で書く。書くことで自分の理解も深める。仕事で使う時は真面目なところでちゃんと調べてね。 #dp140
2010-04-22 22:08:40
Facadeパターン:色んなクラスを同じような手順で処理しなきゃいけないなら、別に1個クラスを作って、そこのメソッドに処理をまとめておくと、読みやすくて便利。名前は分りやすくつけること。 #dp140
2010-04-22 22:05:22
Observerパターン:他のクラスで何か起こったときに知りたいって時に、ずーっと何度もチラチラ見に行くわけにもいかないから、何かあったら教えてねって連絡先渡しておくほうが便利だよね。連絡相手の一覧を作るのがポイント! #dp140
2010-04-22 22:05:47
@tail_y Observerパターンってイベント駆動やコールバック駆動ってこと? #dp140
2010-04-22 22:30:06
Bridgeパターン:冒険者を作る時に、人間の魔法使い、人間の剣士、エルフの魔法使い、エルフの剣士、みたいに作りたくて、どういう継承にしたらいいか分らなくなってきたら、ぶっちゃけ種族とか職業っていう変数を作ったほうが楽だよ #dp140
2010-04-22 22:06:26
Flyweightパターン:クラスを大量にnewするけど1つずつしか使わないって時は、1個だけnewしておいて、その変数を書き換えて使ったほうがメモリ食わないし処理軽いことが多いよ。ただ、誰かと共有してるものを勝手に書き換えないように注意。 #dp140
2010-04-22 22:10:39
へー。デザパタ知らずになんとなくやってたけど Flayweight パターンて言うんだ。 #dp140
2010-04-22 22:15:36
Singletonパターン:インスタンスを1個しか作れないようにするよ。staticだけのクラスにすればいいじゃんって思うかもしれないけど、staticは自分の参照を他人に渡せないから色々と不便なんだよ。作りやすいけど、乱用しないように注意ね。 #dp140
2010-04-22 22:13:06
Iteratorパターン:複数の内容を繰り返し処理する時に使うよ。え?for文?いや、forでもいいんだけど、…配列じゃない時とかあるし…リンクリストに変更することもあるし…そういうときにIteratorのほうが便利で…いや、まあ、forでもいいよ! #dp140
2010-04-22 22:15:05
Builderパターン:クラスをnewする時にさ、やたら引数がいっぱい必要で面倒くさいのとかあるじゃん?毎回似たような引数入れたり、同じような計算して引数作るなら、そのクラスを作ってくれるクラスってのを用意しておいたほうが便利だよ。 #dp140
2010-04-22 22:17:34
BuilderにおけるDirectorの説明が入らなかった・・・。どう説明したらいいんだろう。(でも、Directorって実際役立つ場面少なくね?) #dp140
2010-04-22 22:18:33
手が出せてないデザインパターンについて。分かりやすい! RT @tail_y: よし、デザパタ140文字やるぞ。ハッシュタグ作るから、みんなも教本片手に涙目になる学生をこれ以上増やさないためにも、参加していただきたい。 #dp140
2010-04-22 22:18:50
Decoratorパターン:メソッドをオーバーライドするのもいいけど、ちょっと処理を追加したいくらいなら元が消えちゃって面倒だよね。継承前のクラスを変数で持って、そのメソッドを呼び出して流用するといいよ。自身の変数を変える系のメソッドだと難しいけどさ。 #dp140
2010-04-22 22:22:17
Mementoパターン:リプレイとか、アンドゥとか、状態を保存したい時に使う。クラスの外側からだとprivateな部分が保存できないので、クラス本人に保存データを作って吐き出してもらうのがコツ。Prototypeと似てるけど、必要な部分だけコピーするのが違い。 #dp140
2010-04-22 22:26:54
Commandパターン:命令を保存するクラスを作るよ。便利な点は、コードが読みやすくなること、予約しておいて後で実行できるってこと。他にもログが取れたり、やり直しが出来たり、ロードを待ったりできる。使いすぎて変態コードにならないように注意ね。 #dp140
2010-04-22 22:28:40
Commandパターン:AS3に関して言えば、Progressionを使えということだよ。 http://progression.jp/ja/ #dp140
2010-04-22 22:30:47