質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

Q&A

解決済

2回答

1268閲覧

GoFデザインパターンを勉強する必要があるのか?

m.pandako

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

0グッド

0クリップ

投稿2020/05/09 02:15

GoFデザインパターンを勉強する必要があるのか?
※最終的な目的を踏まえた上で、GoFのデザインパターンを学習すべきかどうか。意見を下さい。

これから【UXデザイナー】、【Webマーケター】、【システムディレクター(いわゆるSE)】のいずれかに配属される予定の新入社員です。

今研修でJavaのアプリ開発をやっています。
上司いわく最終的な目標は
「企画の人からプロダクトの機能を拡張するのを頼まれた時にそれが可能か(コスト、労力の面)判断して、プログラマと協業出来るようになって欲しい」とのことです。

・Javaの文法とオブジェクト指向の基本的な概念は、なんとなく理解出来ている。
・次のステップとしてデザインパターンを学習するのがよいのではと思っている。
・ただ、プログラマーになる訳ではないので、そこまでやる必要はないのでは?という思いもある。

最終的な目的を踏まえた上で、GoFのデザインパターンを学習すべきかどうか。意見を下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/05/09 02:18

設計に携わるわけではないんですか? あとシステムディレクターとSEは別のものだと思いますし、プロジェクトやグループ(会社)によって役割も違います。 「どのような役割を求められる役職か」を確認してからでないと何とも言えません。 本当に「SE」なら結局はプログラミングに直接的にも間接的にも関わります。
m.pandako

2020/05/09 02:28

配属先によって、どの程度のスキルが求められるかは異なると思うので、「企画の人からプロダクトの機能を拡張するのを頼まれた時にそれが可能か(コスト、労力の面)判断して、プログラマと協業出来るレベル」までjavaを理解したい時にデザインパターンを学習するのは有効か?をご教示頂けると幸いです。
Zuishin

2020/05/09 02:35

なぜ上司に聞かないんでしょう? それより優先して勉強しなければならないことがないのであれば、何でも知っておくに越したことはないと思います。
m.pandako

2020/05/09 02:39

ご回答ありがとうございます! ちなみに、今日中に本を買うかどうか決めたいと思っているのですが、休日に上司に連絡するのは申し訳ないなと思っているからという理由でこちらにと投稿させて頂きました。
Zuishin

2020/05/09 02:41

コマンドパターンは UX にも関連しますが、その実装はプログラマーに任せるべきだと思います。
m.ts10806

2020/05/09 03:11

だからといって赤の他人に意見を求めるのは本来間違いだと思います。 あなたを採用したのは上司やその会社であって我々ではありません。 会社から求められることは会社にしか分かりません。
guest

回答2

0

ベストアンサー

こういった質問に対しては、質問者の置かれている立場や状況、将来の指向、会社の仕事内容などによって大きく答えは変わってくると思いますので、あくまでも個人的な1つの意見としてのアドバイスになります。
まず、GoFのデザイン・パターンのようなものは「コンポーネント」や「ライブラリ」、「フレームワーク」などを設計・実装する側にとって重要な知識となります。したがって、それらを設計・実装するのではなく、利用する側であるなら、正直、あまり必要がない知識になると思います(知らなかったとしても、せいぜいプログラミング中に裏側の仕組みを考えてモヤモヤするぐらいでしょう)。利用する側ならむしろ、現在よく使われている「コンポーネント」や「ライブラリ」、「フレームワーク」の「使い方」を覚える方がよいでしょう。「設計する側」と「利用する側」の違いをしっかりと理解し、自分の立場がどちらなのかを考えてみるといいでしょう。なので、上司の方から言われた「プロダクト」というものが一体どちらに属する性質のものなのかを判断することも大切ですね。
【UXデザイナー】、【Webマーケター】、【システムディレクター(いわゆるSE)】と書かれていますが、正直これらの肩書は非常に曖昧なので判断しかねますが、おそらくあまり「コンポーネント」や「ライブラリ」、「フレームワーク」の設計・実装には関わらないかと思われます。そういった意味ではGoFのデザイン・パターンの知識よりも優先順位の高い「習得すべき知識」が他にたくさんあると思いますよ。
もっとも時間があるなら、当然デザイン・パターンも知らないよりは知っていた方がよいには違いませんが。
また、m.ts10806さんが書かれている「アプリケーションを構成するものの考え方」を理解することはどんなITの仕事でも優先度が高い重要なスキルだと思います。

蛇足ですが「企画の人からプロダクトの機能を拡張するのを頼まれた時にそれが可能か(コスト、労力の面)判断して、プログラマと協業出来るようになって欲しい」という要求に本当に答えられるレベルは、開発者・プログラマとして相当高いレベルですよ。2、3ヶ月の新人研修を受けた程度で現場に配属される新人にそれを要求するのは実際には酷な話ですね。またそれが本当にできると思っている上司であれば、その下で働くのはこれからも苦労が絶えないでしょう。

投稿2020/05/09 02:48

編集2020/05/09 03:00
amadablam

総合スコア402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/05/09 03:12

「最終的な目標は」と書かれてるので、配属先ですぐに求められるという意味ではないと感じました。
amadablam

2020/05/09 03:21 編集

なるほど、研修終了時における最終的な目標ではなく、将来的にということですね。
guest

0

勉強しておくように指示を受けたのか自主的にしようとしているかで違います。

自主的にしようとしているのでしたら覚えておいて損はないですし、
指示を受けたのでしたらそれは業務なので覚えなければなりません。

いずれにしても、
「デザインパターンそのもの」よりも「アプリケーションを構成するものの考え方」を身に付けると良いかもしれません。
言語やフレームワーク、デザインパターンもモノづくりの道具の1つに過ぎません。

投稿2020/05/09 02:30

編集2020/05/09 02:31
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.pandako

2020/05/09 04:30

ご回答ありがとうございました! デザインパターンは優先度が比較的高くなさそうなので、先にアーキテクチャの勉強をしようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問