« はてなブックマークを代表するような日記???? | main | クロスブラウザなイベントモデルとか作ってみた »
2005年08月20日
あなたのよく使うデザインパターンはなんですか?
貴方がもっともよく使うデザインパターンのベスト10を教えてください
Naoya氏のJavaScript OOPとかを見ていたら、ふと疑問に思いました。
みんなデザパタってどういうの使ってんだろう?
自分のOOPは完全に本のみの自己流、先輩も師匠もなにも存在しません。しかも言語がflashでプロトタイプベースときています。んなわけで、スッゲェ偏ってると思うので、他のみなさんがどんなの使ってるのか気になる今日この頃デス。
1位: Template
とりあえずこれがないと、サブクラス真面目に作る気になれません。
2位: Observer
イベントリスナーモデルの便利さでOOPに目覚めました。
2位: Singleton
1作に1個はつかいます、大好き。
3位: Mediator
要所要所でメディエイターを作るのが好きです。時間たってからコード読んでも思い出しやすくなるので。
4位: Command
今自分の中で、コマンドのサブクラスを作るのがブーム。
5位:Facade
基本のパッケージは手続きをこまかくして、作品毎にファサード組んで簡略化するのが好きです。っていうか、それじゃあファサードの意味ないか??
6位: State
いまだにストラテジーとの使い分けが実感できません。
7位: Composite
XMLをオブジェクトにするときに、Compositeでクラス組む。
8位: Factory
直接newしてしまうので、あまり使わない。これとDecoratorを使いこなせない時点で、自分は3流OOPコーダ。
9位: Adaptor
僕は結構レガシーを廃棄して再コードしまくり派なので、思ったより使わないかも。
備考:
Iteratorがランク外なのがちょっと意外っぽいですが、Flashは処理速度が遅いからあんまり手続きを増やしたくないので食わず嫌いで避けていました。実際使ったら便利なのかもしれませんが・・・ BuilderやAbstractFactoryは正直あまり理解できてないっす・・・ やり方はわかるのだけど有効性があまり見えないというかなんというか。
投稿者 Taka : 2005年08月20日 05:09
book
bookmark
trackbacks
this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/284
comment
デザインパターンって、「気付くと使っていた」というケースが多いんですよねー。FacadeとかTemplate Methodとかは特に。なので、実際に統計出したら、自分が思っていたのと違う結果出たりしそうだなあ、とか、ぼんやり思ったのでした。
ちなみに、自分の場合、業務系アプリを作っているときと、FlashとかGUI系やってるときとで、使うパタンが変わりますね。業務系だとBridgeをよく使い、GUIだと、やっぱりObserverを使いがち。イベントモデルは、素敵ですよね。
by dT : 2005年08月26日 15:20
最近は、勉強の為に意図的に使うようにしているのですが、一人でやる場合もコードのメモに「何を使用」とか書いてあると、古いコードでも一瞬で思い出せるので便利でした。
これ絶対に人によってパターンの内容が変わりそうですよね。みんなが使うパターンがわかって、それを中心に勉強できればもっとOOPも流行りやすくなるんじゃないかなぁ、と思います。
by Taka : 2005年09月01日 23:34
plane can percieve stake: http://www.bloglines.com/ , superb corner is always tremendous chair
by Paul Ford : 2006年03月28日 11:17