プログラミングを学んでいると「オブジェクト指向」という単語に遭遇しますが、その意味や活用法を理解するのは簡単ではありません。
この記事では、そんな「オブジェクト指向」を学ぶための定番書籍を紹介します。
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識
オブジェクト指向の解説書です。
プログラミングとしてのオブジェクト指向の話から、プログラミングにとどまらない考え方についても解説されています。
オブジェクト指向がイマイチ分からずにいる、という方に非常にオススメの書籍です。
2021 年 4 月 15 日に第 3 版が出ているので、購入するのにちょうど良いタイミングかもしれません。
リファクタリング(第2版): 既存のコードを安全に改善する
ソフトウェアの振る舞いを変えずにコードを改善する「リファクタリング」の解説書です。
オブジェクト指向のプラクティスを生かしつつ、コードを改善する方法などが解説されています。
第 1 版のサンプルコードは Java で、第 2 版のサンプルコードは JavaScript です。
オブジェクト指向を利用した具体的なコードの書き方を学びたい場合にオススメです。
増補改訂版Java言語で学ぶデザインパターン入門
Java で GoF のデザインパターンを解説した書籍です。
GoF のデザインパターンのもとの本である『オブジェクト指向における再利用のためのデザインパターン』よりも、こちらの方が読みやすくなっています。
姉妹本として『増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編』という書籍もあります。
実践的なプログラミングではマルチスレッドの知識も必要になるので、マルチスレッド編もオススメです。
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
Ruby を使い、オブジェクト指向を設計原則から解説した書籍です。
継承と委譲のメリット・デメリットがしっかり解説されていたり、テストにおけるモジュールの利用について書かれていたり、評判通りの素晴らしい書籍です。
ダックタイピングやモジュールを活用した、Ruby らしいコードについても学ぶことができます。
タイトルにある「実践」の言葉の通り、初心者向けではなく、特に Java などの言語で登場する「インタフェース」の考え方を理解していないと、なかなか理解が難しいかもしれません。
その他
以上、オブジェクト指向に関する定番書籍を紹介してきました。
その他、700 ページくらいある分厚い本ですが、『アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技』も有名です。
関連分野について
オブジェクト指向を学ぶ際は、前提としてコーディングの基本的なプラクティスをおさえておいた方がいいです。
コーディングの原則を学ぶための書籍は、以下の記事にまとめています。
オブジェクト指向についてより発展的な解説をしている分野としては、ドメイン駆動設計 (DDD) やアプリケーションアーキテクチャが挙げられます。
それぞれ以下の記事に書籍をまとめているので、興味がある方は参照ください。