ソフトウェア開発(共同開発)で開発側の仕事を
されている方に聞きたいのですが
開発者としてデザインパターンは
必須の知識といえるのでしょうか?
知らない人はいない。
全て知っている人はほとんどいない。
知ってた方がよい。
知っててもたいして役に立たない。
どうなんでしょうか?
たとえば自分がデザインパターンを習得して
共通の語彙としてのメリットを発揮できるのかということが
ちょっと疑問に思いましたです。
開発の場にいったとしても周りがデザインパターンってなに?
っていうような状況にはなっていないのでしょうか?
No.2ベストアンサー
- 回答日時:
個人的には必須だと思います。
理由としては、回答1の方がおっしゃっているように、デザインパターンとは
・デザインパターンは先人の知恵の集合(ベターなものの集まり)
・自分でより良い設計を考えたらデザインパターンに近いものになっていることが多い
だからです。
しかし、デザインパターンをちゃんと知って開発している人は、非常に少ないです。
特に、Springとかいろんなフレームワークが出てきた昨今は。
だからこそ知っておくべきなのです。
性能が出ない場合なのでチューニングするとき、デザインパターンを知っていればより性能のよいチューニングが出来るかもしれません。
そして、デザインパターンを知っていてそれがチューニングに役立ったら、
「デザインパターンを無視した設計だったから性能が出なかった。バグの原因になった。デザインパターンどおりにやればこんなに良くなります」と上司に説明してあげましょう。
その一言が信頼につながって、ただの1開発者からリーダーへの出世につながるでしょう。
また、Springなどのフレームワークの内部を解析すると、デザインパターンを駆使して設計されていることが分かります。
つまり、そうゆうコアな人材になるには知っている方が良いと思います。
No.1
- 回答日時:
私自身も、別にデザインパターンを意識して開発をすることはありません。
が、ある程度の規模のものを作成していて、あれこれ試行錯誤して「こうするのがベターだな」とたどり着いたところを振り返ってみると、だいたいデザインパターンに近い設計になっているものだと思うことが多々あります。デザインパターンというのは、別に特殊なものではなくて、多くの人が「これがベターだろう」とたどり着いたものをパターン化したものです。ですから、「それを使うべき」とかいうことではないでしょう。ただ、実際にあこれこ試してみると、だいたいデザインパターンに近い設計になっているはずです。
デザインパターンの用語を知らなくとも、「こういう働きのクラスとして定義すれば便利じゃない?」といえば、(まともなプログラマなら)「あぁ、そうだな」と思うはずです。知らなくてもいいけれど、知っていれば、途中の試行錯誤をしないで簡単に「ベターだと思われるやり方」にたどり着ける、というようなものだと思っています。
ですから、語彙としてデザインパターンの用語を使えるようになるかどうか、ということはあまり考えなくてもいいんじゃないでしょうか。自分なりにデザインパターンの考え方を理解し、それを武器にして「こういう設計でいこう」と提言する、ということでいいのではないかと思います。そうすることで、「あいつはなかなかいい設計をするな」と自分の評価も高まるでしょうし。そんな便利なものを、わざわざ同僚に教えてやる必要ないですよ(笑)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング 開発エンジニアとテスター 閲覧ありがとうございます。 仕事について相談させていただきたく投稿しました 2 2022/12/07 18:38
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- システム システムを開発するにあたって 3 2022/08/06 21:30
- その他(就職・転職・働き方) 大学で学んだ専門分野の勉強は仕事で使いますか? よく「仕事に必要なことは会社に入ってから学ぶ」「大学 2 2022/04/09 04:23
- システム スパコン「京」の本当の意義 4 2023/06/23 07:16
- その他(プログラミング・Web制作) dockerとは? 新しい配属先でテレワークになり、テレワーク用のpcにdockerを入れたのですが 2 2022/09/22 07:54
- IT・エンジニアリング IT未経験でも客先常駐でスキルを得れば自社開発に行けるか? 2 2023/07/23 01:16
- IT・エンジニアリング T未経験の文系大学生が、交通関係のIT企業で働く方法 7 2023/07/22 17:20
- IT・エンジニアリング IT開発、ソフトウェア開発、アプリ開発において、要件定義は受注の前か、後か? 見積額に含むか否か? 1 2022/06/20 19:02
- IT・エンジニアリング IT未経験の文系大学生が、自社開発の企業に行く方法 2 2023/07/22 02:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オブジェクト指向について
-
Java、Eclipseの勉強にお勧めだ...
-
How to import HorizontalGridV...
-
Eclipseソース開発画面の行番号...
-
PowerBuilderの知識が必要です。
-
「C#ができればJavaもできる」...
-
今でも、TomcatとApacheの連結...
-
Javaでバッチ処理
-
デザインパターンは必要か
-
UE4を初めて学ぶときのC++の理...
-
vba クリップボードクリアにつ...
-
IISワーカープロセスが原因でCP...
-
CrystalReportsのバージョン確...
-
gitでバージョン指定してダウン...
-
JSPファイルで生じるエラーをど...
-
EclipseでJavaコンパイラのバー...
-
DBから全権検索したデータをjsp...
-
VBAの「for i=1 to cells(…」...
-
URLDownloadToFileのコピペで64...
-
javaからデータベースに接続 エ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
オブジェクト指向について
-
JavaMailを使う前のTomcatの設定
-
今でも、TomcatとApacheの連結...
-
この便利な時代に開発環境すら...
-
プログラミング言語について
-
AndroidとJavaの違いについて
-
文字列に半角スペースがあるか...
-
「C#ができればJavaもできる」...
-
Mac、Javaのライブラリ追加場所...
-
コレクションフレームワークに...
-
PowerBuilderの知識が必要です。
-
Javaでバッチ処理
-
Webアプリケーションを開発する...
-
フリーのフレームワーク
-
DLL内部異常発生時、EXEをまき...
-
プログラミング開発経験とは?
-
バッチプログラマの末路
-
フレームワークとライブラリの違い
-
Perl言語での開発環境
おすすめ情報