オブジェクト指向でなぜつくるのか 第 3 版 知っておきたい OOP 、設計、アジャイル開発の基礎知識(オブジェクトシコウデナゼツクルノカダイサンパン)
- 著者:
- 平澤 章(ヒラサワアキラ)
- 出版社:
- 日経BP
- 出版日:
- 2021年04月16日頃
- ISBN:
- 9784296000180
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
『オブジェクト指向でなぜつくるのか』 10 年ぶり、待望の改訂第 3 版!
「これからの 10 年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。
現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を平易な文章で核心をズバリと解説します。
生産性のかぎを握るプログラム開発の主要技術をわかりやすく教えるという位置づけは変わりません。
そのうえで「今ドキの OOP 」として人気言語 (Java 、 Python 、 Ruby 、 JavaScript) の最新動向を新たに盛り込んでいます。
もちろん、すべての文章を細かく見直して現況に沿うよう更新しています。
本書の特徴
◆オブジェクト指向 (OOP) の全体像と特徴がわかる
◆ OOP のプログラムが動く仕組みが具体的にわかる
◆関数型言語の本質と OOP との関係がわかる
◆アジャイル開発手法と実践手法がわかる
【目次】
第 1 章 オブジェクト指向はソフトウエア開発を楽にする技術
今ドキの OOP:とっつきやすくて、奥の深い Python
第 2 章 オブジェクト指向と現実世界は似て非なるもの
オブジェクトの向こう側:バズワードになったオブジェクト指向
第 3 章 OOP を理解する近道はプログラミング言語の歴史にあり
プログラミング昔話: COBOL コンパイラのニワトリとタマゴの話
第 4 章 OOP は無駄を省いて整理整頓するプログラミング技術
今ドキの OOP:ホームページツールから進化した PHP
第 5 章 メモリの仕組みの理解はプログラマのたしなみ
プログラミング昔話: OOP はダンプが見づらい?
第 6 章 OOP がもたらしたソフトウエアとアイデアの再利用
今ドキの OOP:Rails フレームワークでブレークした Ruby
第 7 章 汎用の整理術に化けたオブジェクト指向
オブジェクト指向の向こう側:言語が先か、コンセプトが先か
第 8 章 UML は形のないソフトウエアを見る道具
第 9 章 現実世界とソフトウエアのギャップを埋めるモデリング
第 10 章 擬人化して役割分担させるオブジェクト指向設計
今ドキの OOP:クラスに縛られずに動く JavaScript
第 11 章 オブジェクト指向から生まれたアジャイル開発
プログラミング昔話:昔は許されなかった XP
第 12 章 オブジェクト指向を使いこなそう
補章 関数型言語でなぜつくるのか
今ドキの OOP:関数型言語の箱庭を用意した Java
技書の森解説
クラス、継承、ポリモーフィズム。用語は知っていても「なぜそれが必要なのか」を説明しろと言われると詰まる。本書はオブジェクト指向を構文ではなく「ソフトウェアが大規模化する中で人間が複雑さを制御するために生み出した知恵」として語り直す本です。平澤章氏が一貫して問いかけるのは "What" ではなく "Why" であり、プログラミング言語の機能を覚えた後に「で、なぜこう書くのか」を腹落ちさせる役割を持っています。
第 3 版ではデザインパターン、アジャイル開発、関数型プログラミングとの関係性といった周辺トピックが拡充され、オブジェクト指向をソフトウェア開発の歴史と実践の中に位置づける視座がより明確になっています。特定の言語に縛られない説明のため、 Java でも Python でも C# でも、何か 1 つの言語で基本構文を書ける人であれば読み進められます。
逆に、具体的なコーディングパターンやリファクタリング手法を即座に得たい場面には向きません。本書で得られるのは「設計判断の背骨」であり、その骨に肉付けするのはデザインパターン集やドメイン駆動設計の専門書の役割です。入門書の次に読む一冊として、繰り返し参照される種類の本です。
言及 Qiita 記事 (16 件)
プログラミング初心者の学生が2年間で読んだ本の中でオススメを紹介する
♡ 151プログラミング, 本, 技術書, 勉強, 勉強法独学でエンジニア目指す人へ【Laravel・Docker・AWS】
♡ 93初心者, Laravel, ポートフォリオ, 未経験エンジニア, 個人開発Java には参照渡しはありません
♡ 40Java, 参照渡し, 値渡し, スタック領域, ヒープ領域引継ぎもかねて、自身が5年間で学んだエンタープライズアーキテクチャを説明する。
♡ 18オブジェクト指向, DDD, 設計, oop, アーキテクチャオブジェクトとはつまり"メモリ上の実態"のことで人によって指し示すことが違うこと
♡ 15C, C++, オブジェクト指向, ポエム【AI時代に効く“なんとなく読書”】バラバラに本を読んでいたら、ある日ぜんぶつながってデザインの仕事が変わった話
♡ 14UX, Design, 読書, キャリア, 学習法エンジニアに転向して1年で開発チームのリーダーになるまでに勉強したことをまとめる
♡ 14Python, JavaScript, AWS, 初心者, 技術書エンジニアになって読んだ本を時系列でまとめる
♡ 9プログラミング, 初心者, 技術書, 書籍, 備忘録文系大学生が完全独学でソフトウェアエンジニアになった理由と具体的な勉強法
♡ 7プログラミング, ハッカソン, 初心者, Udemy, 独学入社して3ヶ月経ったので自己レビューの観点をまとめてみました
♡ 5初心者, レビュー
言及 Zenn 記事 (1 件)
この本に興味がある方におすすめ
この本に関連
関連記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
本屋のプログラミングコーナーの歩き方
本屋のプログラミング書コーナーに行くと、棚いっぱいの本に圧倒されます。どこを見ればいいか、どう選べばいいかを初心者向けに案内します。
エンジニアが最初に読むべき技術書 5 冊の選び方 - ジャンル配分が鍵
新人エンジニアやキャリアチェンジ組が最初に読むべき技術書のジャンル配分と、言語・設計・運用・CS 基礎・ソフトスキルの 5 冊を選ぶチェックリストを紹介。
関連用語
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト
オブジェクト指向
データと操作をオブジェクトとしてまとめ、現実の概念に近づけて設計する考え方
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
Ruby
開発者の生産性と楽しさを重視した、日本発のオブジェクト指向プログラミング言語
S3
AWS のオブジェクトストレージサービスで、無制限のデータを高い耐久性で保存する