最速怪談選手権

ソフトウェア開発(共同開発)で開発側の仕事を
されている方に聞きたいのですが
開発者としてデザインパターンは
必須の知識といえるのでしょうか?

知らない人はいない。
全て知っている人はほとんどいない。
知ってた方がよい。
知っててもたいして役に立たない。
どうなんでしょうか?

たとえば自分がデザインパターンを習得して
共通の語彙としてのメリットを発揮できるのかということが
ちょっと疑問に思いましたです。
開発の場にいったとしても周りがデザインパターンってなに?
っていうような状況にはなっていないのでしょうか?

A 回答 (3件)

個人的には必須だと思います。



理由としては、回答1の方がおっしゃっているように、デザインパターンとは
 ・デザインパターンは先人の知恵の集合(ベターなものの集まり)
 ・自分でより良い設計を考えたらデザインパターンに近いものになっていることが多い
だからです。

しかし、デザインパターンをちゃんと知って開発している人は、非常に少ないです。
特に、Springとかいろんなフレームワークが出てきた昨今は。

だからこそ知っておくべきなのです。

性能が出ない場合なのでチューニングするとき、デザインパターンを知っていればより性能のよいチューニングが出来るかもしれません。
そして、デザインパターンを知っていてそれがチューニングに役立ったら、
「デザインパターンを無視した設計だったから性能が出なかった。バグの原因になった。デザインパターンどおりにやればこんなに良くなります」と上司に説明してあげましょう。

その一言が信頼につながって、ただの1開発者からリーダーへの出世につながるでしょう。

また、Springなどのフレームワークの内部を解析すると、デザインパターンを駆使して設計されていることが分かります。

つまり、そうゆうコアな人材になるには知っている方が良いと思います。
    • good
    • 0

実装をひと言で説明できるメリットは絶大です。


周りが知らなくても自ら浸透させるつもりで使いましょう。
    • good
    • 0

私自身も、別にデザインパターンを意識して開発をすることはありません。

が、ある程度の規模のものを作成していて、あれこれ試行錯誤して「こうするのがベターだな」とたどり着いたところを振り返ってみると、だいたいデザインパターンに近い設計になっているものだと思うことが多々あります。

デザインパターンというのは、別に特殊なものではなくて、多くの人が「これがベターだろう」とたどり着いたものをパターン化したものです。ですから、「それを使うべき」とかいうことではないでしょう。ただ、実際にあこれこ試してみると、だいたいデザインパターンに近い設計になっているはずです。

デザインパターンの用語を知らなくとも、「こういう働きのクラスとして定義すれば便利じゃない?」といえば、(まともなプログラマなら)「あぁ、そうだな」と思うはずです。知らなくてもいいけれど、知っていれば、途中の試行錯誤をしないで簡単に「ベターだと思われるやり方」にたどり着ける、というようなものだと思っています。

ですから、語彙としてデザインパターンの用語を使えるようになるかどうか、ということはあまり考えなくてもいいんじゃないでしょうか。自分なりにデザインパターンの考え方を理解し、それを武器にして「こういう設計でいこう」と提言する、ということでいいのではないかと思います。そうすることで、「あいつはなかなかいい設計をするな」と自分の評価も高まるでしょうし。そんな便利なものを、わざわざ同僚に教えてやる必要ないですよ(笑)。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!