仕事でJava、C++を使われる方に質問です。
実務でプログラミングをするときに、Design Patterns(Factory,Visitor等)を使ったりしますか?
私は、Java,C++を一通り勉強し、ようやくオブジェクト指向プログラミングの概念、奥深さを理解出来てきたところです。
先日、Design Patternsに関する本を見つけたのですが、面白いと思う反面、実際にどのような場面で使われるのかが今一つ理解出来ません。
私が大きいプロジェクトのプログラミングを経験したことがないせいなのかとも思うのですが、実務でも使ったり、職場で話題になったりするのでしょうか?
また、ここからプログラマーとしてもう一つ上のレベルに行くためにはどのような書物で勉強するのが良いのでしょうか?
アドバイス、コメント等、お願い致します。
No.1
- 回答日時:
こんにちは。
プログラマー1年生のものです。私自身あるパターンが使えると考えてプログラミングしたことがありませんが,今携わっているWebシステムの機能で一部デザインパターンを使用して作成しているものがあります。それは組織やグループなどの階層構造を表示するServletにCompositeパターンが使われていますし,インスタンスの生成を制限するクラスにSingletonパターンなどが実際使用されています。
いろいろな考え方があると思いますが,一度どちらの言語かで構わないと思うので一読されてみると面白いと思います。
No.2ベストアンサー
- 回答日時:
今まで携わってきた開発の中では、デザインパターンは頻繁に使用されています。
ただし、デザインパターンを無理に使用するのではなく、そのシステムごとにアレンジしていくつかのパターンを組み合わせて使用するのが一般的です。開発はデザインパターンを使用しなくても可能です。ただ、再利用性や保守性をあげるためには、デザインパターンは効果的です。
開発者同士の会話でも、ここにはシングルトンを使用して…などと、パターン名でどんな処理を行おうとしているのか簡単に理解することができます。(相手もある程度デザインパターンを知っている必要があります)
Java、C++でオブジェクト指向の概念などがわかってきたということですが、もし実際に開発をされていないのであれば、何か実際に作成してみることをおすすめします。
最初からデザインパターンをすべて覚えるのではなく、実際にプログラムを作って、後からデザインパターンを適用できそうな箇所を探してみるのもいい方法かもしれません。(実際の開発では、そんなことをする時間は取れないのが普通です)
そうすることで、デザインパターンを使った場合と使わない場合の保守性の問題や、利点などがより深く理解できると思います。
No.3
- 回答日時:
使います。
良く使われるのは#1さんも挙げられたcompositやsingleton。それとstateパターンなどもどこでも使われていると思います。
何冊かデザインパターンの本を読みましたが、どの本も始めにパターンありきで、使用例はピンと来ないものが多いのは同感です。
1.xxxxがしたい
そういうときはxxxxパターンを使いましょう。xxxxパターンとは・・・・。
ソースの例は・・・・。
なんて構成の「逆引きデザインパターン辞典」みたいなのをどこかで出版してくれないかなぁ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- Windows 10 パソコン得意な人どうやって勉強したか教えてください 13 2022/04/26 00:41
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- その他(悩み相談・人生相談) 仕事が出来ない人の末路とはどのようなものでしょうか。私の事です。 6 2023/04/01 19:48
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- その他(悩み相談・人生相談) 30代公務員ですがブルーカラーでありホワイトカラーでもある仕事をしております。 ブルーカラーの間はひ 5 2022/04/03 22:55
- その他(学校・勉強) 自分の市場価値を高めるには 3 2022/07/12 09:11
- 大学受験 日本史の受験勉強について 2 2022/11/22 19:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipse実行ができない
-
配列にnullを代入すると、null...
-
正規表現について質問です。 カ...
-
JaneStyleのスレッドが見れなく...
-
複数TBLのオブジェクトを1つの...
-
マイクラでPythonのプログラミ...
-
CSV出力を画面から選択したデー...
-
下記問題の答えが"D"になる意味...
-
jdk17.06のインストーラーが起...
-
リレーションエンティティクラ...
-
直し方について教えて頂きたい...
-
JAの支部?地域の農協のカード...
-
ショートカットキーについて
-
プログラミングの問題です。大...
-
えハミルトン路と全域木のちが...
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
Jupyter notebookですわかりま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
配列にnullを代入すると、null...
-
マイクラでPythonのプログラミ...
-
JAの支部?地域の農協のカード...
-
eclipse実行ができない
-
Eclipse 動的プロジェクトで404...
-
下記問題の答えが"D"になる意味...
-
正規表現について質問です。 カ...
-
list の空は [] ってあわらすのに
-
「main メソッドを持つクラスが...
-
あんまりお料理しないのに台所...
-
JaneStyleのスレッドが見れなく...
-
jdk17.06のインストーラーが起...
-
eclipseで作ったプログラムを他...
-
改行含むテキストの表示の仕方
-
キー入力について
-
CSV出力を画面から選択したデー...
-
Processingでマウスクリックで...
-
次のhtml・cssでspan内の文字を...
-
JSFタグのfタグとは
おすすめ情報