はじめに
プログラミング経験ゼロ、Javaを学習し始めて3か月目の新人が「Java言語で学ぶデザインパターン入門」を読んだ感想を共有したいと思います。
結論
この本を読んでみて、Java初学者にはすべてを理解することはできませんでしたが、いくつか理解することは可能でした!
その中でも「Adapterパターン」と呼ばれるパターンがあり、今まで何気なく使っていた継承の意味を理解することがました。
しかしまだ、デザインパターンの必要性を感じるほどプログラミングの経験がないため、ある程度経験を重ねてから読む必要がありそうです。
本の概要と感想
そもそもデザインパターンとは、ソフトウェア設計時に繰り返して起こる問題に対して解決する方法のことを指しています。
デザインパターンは数多く存在しますが、この本では23個のデザインパターンを整理していて分かりやすい解説でした。
この本は以下の構成で書かれています。
・パターン説明
・サンプルプログラム(解説)
・パターンに出てくる登場人物
・考えを広げるためのヒント
・関連しているパターン
・この章で学んだこと
なかでも理解しやすかった点はクラスを物語の登場人物に例えて説明してくれているところです。サンプルプログラムが理解できなかった時に理解の手助けをしてくれます。
また、この本に登場するプログラムは身近なものをプログラミング化してあるため、親近感がわきます。
自分なりに考えるデザインパターンの必要性
研修中にコードを書く上で、できるだけわかりやすいコードを書くように!
と言われてきました。
これは、実務に出た際にバグや実装の修正をするのは、必ずしも書いた本人とは限らないためです。また、何年後かに自分で見た際に複雑なコードだと、修正に作った時と同じ分かかってしまいます。
これを解決してくれるのがデザインパターンなのではないでしょうか。
Adapterパターンから学ぶ継承と委譲とは
今回私がこの本を読んで理解できたAdapterパターンを紹介しようと思います。
Adapterパターンはもともと存在するクラスを再利用できるものだそうです。継承と委譲がAdapterの役割を担っています。
今回は継承と委譲で理解したことを自分なりの言葉で紹介したいと思います。分かりやすくするために会議に出席する人を例にします。
-
継承とは
会議に出席する人が意見を発表するために知識人から情報を聞いて発表するというのが継承の役割です。
-
委譲とは
部下に知っている情報を託して代わりに会議に出席してもらうというのが今回の委譲の役割です。
会議で発表を聞く人は発表内容を知ることができたら誰が発表しても困りません。
このように、何かで補って使いたい形にするというのがAdapterパターンですが、二つの違いは発表する人が、情報を得た本人なのか、本人から依頼された人なのかという違いのようです。
最後に
初学者には少し難しい内容ですが、一通りJavaを学び終えてオブジェクト指向に興味がある方、似たようなソースコードを書くようになったけどパターン化できないのかなと感じた方はぜひこの本を手に取ってみてください!新しい発見が見つかるはずです。
私もこの本がより理解できるよう学びを進めたいと思います。
参考文献