nobu blog

プログラミングやゲームの話など。

*



【感想】オブジェクト指向の考え方 5th Editionはわかりやすく初心者にオススメ

   

概要

最近デザインパターンやオブジェクト指向に関する本をよく読んでいます。
今回紹介するのは、2020年10月に発売されたばかりの「オブジェクト指向の考え方 5th Edition」。

オブジェクト指向は、現代のソフトウェア開発には欠かすことのできない技術要素となっています。オブジェクト指向分析、オブジェクト指向プログラミング、オブジェクト指向データなど、オブジェクト指向を元にした技術にはさまざまなものがあります。しかし、それらはすべて基本的な要素や概念を共有しており、ひとつの基礎から成り立っています。オブジェクト指向に通底する考え方を理解しておくことは、それぞれの技術の使いこなしには欠かすことができません。

スポンサーリンク

書籍概要

どんな本?

ソフトウェア開発において「オブジェクト指向」は重要な技術要素であり、オブジェクト指向に対応した言語はプログラミングの主流となっています。しかし、「クラス」「メソッド」「オブジェクト」などは言語の知識だけでは理解が難しく、使いこなすにはその思考法に習熟する必要があります。
本書は、オブジェクト指向の諸概念の理解に焦点を当てた解説書です。クラスの作り方からオブジェクトの生成、継承、さらにフレームワークの正しい適用など、ソフトウェアを合理的に設計し、効率的な開発を実現する多くの知識を集めています。

  • Matt Weisfeld 著/神林 靖 訳
  • 2020年10月23日 発行
  • 320ページ
  • 定価3,740円(税込)

スポンサーリンク

内容のまとめ

オブジェクト指向の考え方(プロセス)にフォーカスしています。
オブジェクト、クラス、カプセル化、インターフェース、継承、ポリモーフィズムといたオブジェクト指向における理論と考え方を一から順々に説明してくれる入門書といえる本です。

下記に大まかな本書の構成を示します。

チャプター1~3

オブジェクト指向とは?といった基本的な概念から始まり、継承、インタフェース、コンストラクタなどオブジェクト指向において必要な概念に関して説明が記載されています。

チャプター4~5

クラスの設計にフォーカスして説明が記されています。プライベートやパブリックメソッドや、再利用性の高いクラス設計度に関して言及されています。

チャプター6~9

前のチャプターから発展してよりマクロな視点でシステムを設計する上でのクラスの設計方法が記載されています。
継承やコンポジションといったクラス間の関係性に関してクラス図を多く使用して説明が記載されています。

チャプター10~12

デザインパターンやSOLID原則といったクラス設計におけるプラクティスに関して説明が記載されています。
このエリアはクラス図と合わせてコードサンプルが多めで記載されています。

スポンサーリンク

感想

良い点

基礎的な部分から説明

オブジェクト指向に関して1から説明してくれるので、入門書には最適です。

図が多くてわかりやすい

クラス図といったような図だけではなく、考えを示すイメージ図がかなり多めで理解を助けてくれます。

サンプルコードとクラス図のバランスが良い

どちらも程よい分量で記載されていてイメージがしやすく助かります。

残念な点

デザインパターンなどはさわり程度の説明

後半はデザインパターンやSOLID原則に関しての説明がありますが、触りといった簡単なレベルでの説明だけです。
ですが入門書というスタンスであれば、このレベルで十分とも言えます。

具体的なコードは少なめ

サンプルコードはありますが、部分部分の説明のためのコードが多いので、実際のシステムにおいてオブジェクト指向を実現するためのコードといった観点ではあまりサンプルはありません。

まとめ

懇切丁寧に説明をしてくれているので、オブジェクト指向を学ぶための入門書として最適な本です。
Javaなどのプログラム言語をとりあえず書けるようになったという人が、次のステップアップとして読むのにオススメできます。
本書を読後に、具体的なデザインパターンや設計方法に関する本を読んでステップアップを図ると良いと思います。
以前紹介した、オブジェクト指向のこころも選択肢の1つとしてアリです。

【感想】オブジェクト指向のこころ は文章とUMLを中心で敷居高めのデザパタ本

ある程度経験や知識がある人もサッと斜め読みできる程度の分量で、忘れていたり知識の補強としても使えるのではないかと思います。

オブジェクト指向は、現代のソフトウェア開発には欠かすことのできない技術要素となっています。オブジェクト指向分析、オブジェクト指向プログラミング、オブジェクト指向データなど、オブジェクト指向を元にした技術にはさまざまなものがあります。しかし、それらはすべて基本的な要素や概念を共有しており、ひとつの基礎から成り立っています。オブジェクト指向に通底する考え方を理解しておくことは、それぞれの技術の使いこなしには欠かすことができません。

 - 技術書, 読書感想