
ソフトウェア開発(共同開発)で開発側の仕事を
されている方に聞きたいのですが
開発者としてデザインパターンは
必須の知識といえるのでしょうか?
知らない人はいない。
全て知っている人はほとんどいない。
知ってた方がよい。
知っててもたいして役に立たない。
どうなんでしょうか?
たとえば自分がデザインパターンを習得して
共通の語彙としてのメリットを発揮できるのかということが
ちょっと疑問に思いましたです。
開発の場にいったとしても周りがデザインパターンってなに?
っていうような状況にはなっていないのでしょうか?
No.2ベストアンサー
- 回答日時:
個人的には必須だと思います。
理由としては、回答1の方がおっしゃっているように、デザインパターンとは
・デザインパターンは先人の知恵の集合(ベターなものの集まり)
・自分でより良い設計を考えたらデザインパターンに近いものになっていることが多い
だからです。
しかし、デザインパターンをちゃんと知って開発している人は、非常に少ないです。
特に、Springとかいろんなフレームワークが出てきた昨今は。
だからこそ知っておくべきなのです。
性能が出ない場合なのでチューニングするとき、デザインパターンを知っていればより性能のよいチューニングが出来るかもしれません。
そして、デザインパターンを知っていてそれがチューニングに役立ったら、
「デザインパターンを無視した設計だったから性能が出なかった。バグの原因になった。デザインパターンどおりにやればこんなに良くなります」と上司に説明してあげましょう。
その一言が信頼につながって、ただの1開発者からリーダーへの出世につながるでしょう。
また、Springなどのフレームワークの内部を解析すると、デザインパターンを駆使して設計されていることが分かります。
つまり、そうゆうコアな人材になるには知っている方が良いと思います。

No.1
- 回答日時:
私自身も、別にデザインパターンを意識して開発をすることはありません。
が、ある程度の規模のものを作成していて、あれこれ試行錯誤して「こうするのがベターだな」とたどり着いたところを振り返ってみると、だいたいデザインパターンに近い設計になっているものだと思うことが多々あります。デザインパターンというのは、別に特殊なものではなくて、多くの人が「これがベターだろう」とたどり着いたものをパターン化したものです。ですから、「それを使うべき」とかいうことではないでしょう。ただ、実際にあこれこ試してみると、だいたいデザインパターンに近い設計になっているはずです。
デザインパターンの用語を知らなくとも、「こういう働きのクラスとして定義すれば便利じゃない?」といえば、(まともなプログラマなら)「あぁ、そうだな」と思うはずです。知らなくてもいいけれど、知っていれば、途中の試行錯誤をしないで簡単に「ベターだと思われるやり方」にたどり着ける、というようなものだと思っています。
ですから、語彙としてデザインパターンの用語を使えるようになるかどうか、ということはあまり考えなくてもいいんじゃないでしょうか。自分なりにデザインパターンの考え方を理解し、それを武器にして「こういう設計でいこう」と提言する、ということでいいのではないかと思います。そうすることで、「あいつはなかなかいい設計をするな」と自分の評価も高まるでしょうし。そんな便利なものを、わざわざ同僚に教えてやる必要ないですよ(笑)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleログインボタンのデザイ...
-
プログラミングの問題です。大...
-
JDONWROADER2のエラー修復
-
スプレッドシートからリマイン...
-
googleスプレッドシートのスク...
-
googleスプレッドシートのGASに...
-
Verilogについて質問です。この...
-
論理回路設計をVerilogで行う問...
-
ゲーム開発の入門書を探しています
-
jdbcでinsert,delete,createをe...
-
session,requestはjspで未定義...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
JAの支部?地域の農協のカード...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
オブジェクト指向について
-
JAVAを使って管理システムを構...
-
Javaでバッチ処理
-
Windows7のフリーソフト開発言...
-
ファイルアップロード時の文字...
-
プログラミング言語について
-
「C#ができればJavaもできる」...
-
現時点で、JavaのIDEの主流とな...
-
PowerBuilderの知識が必要です。
-
サーバサイドJavaの「べか...
-
web アプリケーション構築の方...
-
.NETについて
-
コマンドボタンの文字が消える!
-
仮想化OSの異なる開発環境で学...
-
ストラッツ(Struts)って本当に...
-
ASP.NETでの実行環境
-
Ethna
-
C#並の使いやすさのJAVA環境を...
-
Web Developerのビルドと配置
おすすめ情報