- PR -

よく利用するデザインパターンは?

投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-08-26 21:11
こんにちは。お世話になってます。

最近、デザインパターンに関する本や記事をよく見かけます。
私自身、興味もあってよく目を通します。

が、いまだにいまいち理解できません。
たいがいの説明では、まず「○○○を△△△するには」と、ものすごく抽象的でいまいち
想像もつかない利用方法があって、それからその具体的な説明も「結局なんなの?」と
突っ込みたくなるくらいよくわからないです。
今まで見たほとんどの書籍や記事では、たくさんあるデザインパターンを1つ2ページ
くらいの短い説明で抽象的な説明が多いせいでか、利用方法もなかなかイメージできません。
#オブジェクト指向を使いこなせていない事に原因があるのかもしれませんが・・・。

なので、デザインパターンを使うメリットも実感できません。

そこで質問です。みなさんはデザインパターンをよく利用されていますか?
また、利用する事はありますか?
よく利用する、または例題として説明するのに簡単なデザインパターンはあり
ますか?どういった場合に利用して、どんなメリットがありますか?
#何をしたいかで変わるでしょうが・・・。
koshiba
会議室デビュー日: 2002/09/04
投稿数: 6
投稿日時: 2003-08-26 22:47
maruさん

こんばんは、@ITの小柴です。
今年の春に行ったDevelopment Style読者調査で、読者の皆さまがよく使うパターンなどをアンケートしました。具体的な利用場面やメリットまでは突っ込めていませんが、DP利用の概況はご覧いただけます。実際に利用されている方がいらっしゃれば、ぜひその実感など書き込みください。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-08-26 23:38
Singletonはかなり強力だと思います。
私もJava始めたころに知って、
かなりショックをうけました。

デザインパターンはたくさんあって、全てを知る必要はないと思います。
実際、名前なんてしらないけどそのパターンよく使ってるよ。
ってのが多かったりします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-08-27 01:18
やはり、Template MethodやStrategyが多いです。
Template Methodは継承ベースの、Strategyはコンポジションベースのパターンであり、
GOFのパターンのほとんどが、この2つのパターンのどちらかに属しています。

したがって、まずこの2つから始める事をお勧めします。
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2003-08-27 06:10
こんにちは。米山@クロノスです。
かずくんさんが言うようにStrategyやTemplate Methodはすぐに適用できて効果もあるパターンですね。
特にStrategyパターンの適用は、オブジェクト指向の重要な考え方である「Open−Closed Principle」(修正するのではなく追加する)を実感することができますよ。
ぜひ試してください。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2003-08-27 09:17
こんにちは、こくぼです。

デザインパターンが何のために存在するのかというと、部品の『再利用性を高める』ために生まれたものと認識しています。そういった観点から勉強するようにぼくはしています。

開発者同士のコミュニケーションの手段としても利用できるでしょうし、プログラムの考え方も、効率的になると思います。(ごめんなさい、自分もまだ勉強中なので断言できません、、けどそれまでのプログラム作成より質を向上させる自信はあります)

#オブジェクト指向の権威となっている人たちが考えたパターンなんだから良いはずというミーハーなぶぶんもあります。
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-08-27 10:33
みなさん返答ありがとうございます。

raystarさん こんにちは。
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/gof/singleton.html で、
Singletonパターンについて読み、書いてある事はなんとなく理解できていると思います。
しかしショックを受けるほどピンときません。

>Singletonはかなり強力だと思います。
>私もJava始めたころに知って、
>かなりショックをうけました。
参考までに、どういったところが強力だと思い、ショックを受けられましたか?

米山@クロノスさん、かずくんさんこんにちは。
StrategyやTemplate Methodについて調べてみます。


[ メッセージ編集済み 編集者: maru 編集日時 2003-08-27 10:35 ]
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-08-27 10:44
>オブジェクト指向の重要な考え方である「Open−Closed Principle」
>(修正するのではなく追加する)を実感することができますよ
恥ずかしながらOCPなんて考え方があるのははじめて知りました。なんとなく、直感的・
体験的にはわかっているのですが。
オブジェクト指向を語る上で、継承や隠蔽、多態性などはよく登場しますが、OCPのような
「オブジェクト指向で設計する上での設計指針・哲学」みたいなものを説明した書籍や記事
は、私はほとんど目にしたことがありませんでした。
改めて、オブジェクト指向で設計する上での設計指針・哲学みたいなものを勉強しなおして
みます。おそらくこれがないので、デザインパターンについてもピンとこないのかなと
思います。

ちなみに、「オブジェクト指向で設計する上での設計指針・哲学」みたいなものを説明して
いる書籍や記事は、どなたかご存知ありませんでしょうか?

スキルアップ/キャリアアップ(JOB@IT)