はじめに
プログラミング初学者の方は、オブジェクト指向を学ぶときに何を、どの順番で学べばいいのか悩むのではないでしょうか。
本記事では、そのような方に、オブジェクト指向を学ぶための学び方をお伝えします。
オブジェクト指向を学ぶことで、以下のメリットがあります。
- コーディングスピードのアップ
- 機能追加が容易にできるように
- 不具合の対応時間の削減
オブジェクト指向は抽象的でいまいちよくわからないと思いますが、学ぶ順番を工夫することで、より理解の時間を短くできますので、是非この機会に学んでみることをおすすめします。
オブジェクト指向の学び方
早速ですが、オブジェクト指向の学び方を解説します。
以下に、オブジェクト指向を学ぶために必要な単語や概念をまとめています。
抽象度の高いものはなかなかなぜその概念が必要なのかわからず身に沁みないと思います。
そのため、より具体的な(図で言うと下から)用語から学んでいくことをおすすめします。
Webで検索して学ぶのもよいですが、各階層ごとにおすすめの勉強法を次に説明していきます。
プログラミング層の学び方
この層は、各プログラミングの入門書や、Webサイト等で学んでいただければ問題ありません。
アウトプットすることでより身につきますので、アウトプットを意識して学んでください。
オブジェクト指向 基本概念・キホン用語
オブジェクト指向 基本概念・キホン用語の部分は、一つ一つの用語で何ができるのか、Webで調べて勉強するのがよいかと思います。プログラミングの入門書に書かれていればそれで問題ありません。
オブジェクト指向の各技術について体系的に学べますので、以下の書籍を使用しての勉強もオススメです。
GoF デザインパターン
是非、このデザインパターンは学んでもらいたいです。このデザインパターンを学ぶことで、オブジェクト指向にすることでどのようなメリットがあるのか理解できるようになります。どの層のよりもこの層が一番重要です。
おすすめの勉強法は、数学ガールでおなじみの、結城 浩さんが書かれた以下の書籍です。
入門書などを多く手掛ける著者ということもあって、わかりやすくデザインパターンについて書かれてます。本当におすすめの本なので、是非読んでみることをおすすめします。
また、結城 浩さんの書籍はどれもわかりやすく面白いので、その他の本も検索してみることをおすすめします。
イチオシは、暗号技術入門 第3版 秘密の国のアリスです。
暗号技術について、わかりやすく書かれてます。
公開鍵暗号についてや、デジタル署名など、個人的にこの本が一番わかりやすいです。
オブジェクト指向設計原則
ここから、より抽象度が増してきます。
オブジェクト指向の設計とはどうあるべきなのか、また、パッケージの設計はどうあるべきなのかを学んでいきます。この層は、以下の書籍を使って勉強するのが一番です。
アジャイルと書いてますが、アジャイルの手法だけ書かれたものではなく、オブジェクト指向の原則SOLIDに関する解説やパッケージ設計の原則、デザインパターンに関する説明が書かれた書籍です。
また、C#を学んでいる方は、以下の書籍もオススメです。
SOLID原則を、C#でどのように実践するかを解説されており、デザインパターンについても言及されています。
アーキテクチャパターン
この層になるとなかなか情報が少ないです。学ぶとなると以下の書籍に限られてきます。
訳が少々わかりにくいですので、英語で読めるかたは原書で読むことをおすすめします。
この本の著者、マーチン・ファウラー氏は、とても著名な方で、オブジェクト指向の分析や設計、アジャイルソフトウェア開発方法論など各分野で功績を残されている方です。
マーチン・ファウラー氏の他の書籍も読んでみることをおすすめします。
さいごに
オブジェクト指向の設計を学ぶことで、プログラミングの向上だけではなく、アーキテクトとしても活躍できるようになります。より、上位のレイヤーを目指す方は、是非学んでみてください。
コメント