はじめに
プラットフォームエンジニアは、大規模なプログラムはともかく、自動化のためのツールなど中小規模のプログラムを書く機会はしばしばあります。したがって、むちゃくちゃなコードを書かない最低限のプログラム設計スキルが求められます。
そこで今回は、オブジェクト指向を説明できるようになるための学習方法を紹介します。
『ちょうぜつソフトウェア設計入門』を読もう
まずは『ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用』の「オブジェクト指向」の章を通読しましょう。
どんな本なのかは以下紹介文を読むとわかると思います。
いわゆる「オブジェクト指向」と呼ばれる考え方から発展した分野は、どのようにソフトウェア設計の役に立つのかを、よく知られた原則、テスト駆動開発、デザインパターンなどを通じて理解できる一冊です。
ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用
マインドマップにまとめよう
本の内容をマインドマップにまとめていきましょう。私の場合は以下のようにまとめています。
著作権の問題があるので、一部除いて情報を隠しています。まとめるポイントは次の通りです。
- 定義を厳密に考えすぎない
- オブジェクト指向の特徴であるカプセル化・多態性・継承の意味とメリットを掴む
定義を厳密に考えすぎない
この本は、オブジェクト指向を明確に定義することはできないというスタンスをとっています。したがって「オブジェクト指向とは明確に何なのか?」という頭で読むと芯をくわないと感じてしまう論点が多いです。
そこは本のスタンスに合わせましょう。どちらかと言えば「オブジェクト指向は何ではないのか?」という視点で解説が進むので、頭をそちらに合わせましょう。
オブジェクト指向の特徴であるカプセル化・多態性・継承の意味とメリットを掴む
表題の通りなのですが、ひとつ注意点があります。
それはカプセル化などはオブジェクト指向に固有のものというわけではないということです。構造化プログラミングにもカプセル化と同じようなことが実現できる、みたいなことが色々あるわけです。
なので、これらの特徴がオブジェクト指向固有の特徴であると誤認しないように気をつけましょう。その誤認を避けて初めて、オブジェクト指向の真の特徴が見えてくるので(詳しくは本を読んでみてくださいね)。
マインドマップを定期的に見返そう
以下と同様なので割愛します。
さいごに
今回はオブジェクト指向を説明できるようになるまでのトレーニング方法を紹介しました。自分で実際にやってみて効果を実感しているやり方なので、ぜひやってみてくださいね。
コメント