無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識
購入オプションとあわせ買い
「これからの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
- 本の長さ372ページ
- 言語日本語
- 出版社日経BP
- 発売日2021/4/15
- 寸法15 x 2.6 x 21.1 cm
- ISBN-104296000187
- ISBN-13978-4296000180
よく一緒に購入されている商品

人気の商品とあなたへのおすすめ
出版社より
商品の説明
著者について
ウルシステムズ株式会社所属。
メインフレームによる金融システムからマイクロコンピュータを使った制御系システムまで、いくつかのシステム開発を経験した後、30代前半でオブジェクト指向モデリングとSmalltalk、(Observerパターンの)MVCフレームワークに出会い、衝撃を受ける。その後、技術コンサルティングの仕事を経て、2001年にウルシステムズのスタートアップに参画し、現在に至る。
著書/翻訳書:『UMLモデリングレッスン』(著、日経BP)、『リファクタリング 第2版』(共訳、オーム社)、『レガシーコード改善ガイド』(共訳、翔泳社) ほか
登録情報
- 出版社 : 日経BP
- 発売日 : 2021/4/15
- 版 : 第3
- 言語 : 日本語
- 本の長さ : 372ページ
- ISBN-10 : 4296000187
- ISBN-13 : 978-4296000180
- 寸法 : 15 x 2.6 x 21.1 cm
- Amazon 売れ筋ランキング: 本 - 41,974位 (本の売れ筋ランキングを見る)
- 開発技法 - 34位
- ソフトウェア開発・言語 - 39位
- Web開発 - 96位
- カスタマーレビュー:
著者について

著者の本をもっと見つけたり、似たような著者を調べたり、おすすめの本を読んだりできます。
カスタマーレビュー
日本からのトップレビュー
- 星5つ中5つ
現代にも通じる思想
2026年5月19日に日本でレビュー済み本屋さんで立ち読みだとゆっくり読めないのでどこでも読めるようにKindleで購入。普段は、Dart、Swift、Kotlin、TypeScriptで仕事してますが低レイヤーに興味あって、C/C++の学習もしていたおかげで本に書いてある内容を読み解くことができました。
staticがグローバル変数で、関数型言語の関数の副作用は戻り値を返す以外のことをすることが書いてあったかな。
書いてることが古いという人がいた気がしますが、私はそんなことはなくクラスでコードを書くエンジニアは読んだ方がいいなと思いました。
1人のお客様がこれが役に立ったと考えていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中4つ
擬人化に疑問を持つ人へ
2025年5月22日に日本でレビュー済みオブジェクト指向は擬人化してそれがわかりずらくさせているのですがそれをわかりやすく解説して説明しています。
2人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中5つ
プログラミングを志した人に最高の良書です。
2022年1月7日に日本でレビュー済みこの本は大学の情報処理科の教科書、あるいは大学推薦の参考書に指定してもよいほど内容が優れています。
現在のシステム環境のプログラム開発技術の長所を、過去のプログラミング技術の歴史的変遷と比較しながら把握できるようになっており、しかもこの一冊で「現代のプログラム開発とは」の最高峰が一望できるように、かゆいところに手が届くように、わかりやすく書かれています。
なぜ、こうするのか、なぜ、こう書くのか、納得してプログラミングを始めることができます。
これからプログラミングを始めようという方には、必読の一冊と言って良いでしょう。
13人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中5つ
分かりやすい。
2021年7月28日に日本でレビュー済みオブジェクト指向プログラミングの基礎をある程度学んだ後に読むとより面白いと思います。
結局どうしてオブジェクト指向を学び、使うのかがよく分かるようになります。
一見難しそうな機能もより便利にするために必要なものだという視点はこれからのプログラミング系の勉強に役立ちそうです。
11人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中5つ
オブジェクト指向だけでなくビジネスにも活かせる
2021年10月14日に日本でレビュー済みクラスを覚えはじめた方は必読です。
クラスの構文は理解したけど、いざ実際にプログラムを書こうとしたら上手くデータを整理できないという方に本書はおすすめです。
また、オブジェクト指向は聞いたことがあるがプログラミングはできないという人にもオブジェクト指向というフレームワークとして活用できるかと思います。
13人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中3つ
昔の視点から「なぜOOPで作るのか」ではなく、現代的な視点でそれを知りたかった
2022年2月13日に日本でレビュー済み結論はタイトルの通りです。
私はRustやHaskellのような型の表現力が強い言語を好む、業務でのプログラム作成を経験したことがない者です。
別にOOPを避けていた訳ではないのですが、私が好む言語はOOPを(全面的には)サポートしていないものばかりです。
Qiitaなどを見ていたら「クラス」や「継承」といったOOPの語彙が飛び交うし、業務ではPythonやJavaといったOOPをサポートした言語がよく使われるみたいなので、OOPがどういう概念なのか、なぜOOPは広く受け入れられているのかを知りたくなりました。
まずはネットでOOPとは何なのかを調べましたが、「OOPをサポートしていない言語でも、現代的な言語ならOOPでやりたいことは(表現の仕方は違えど)できるから、結局なぜOOPが持て囃されているのかよく分からない」と思いました。
そこで本書を見つけて、タイトルからしてまさに私が求めていることを書いてある本なのではないかと思い購入しました。
しかし本書には、「C言語の時代からの延長としてのOOPの利点」しか述べられておらず、「現代的な言語であってOOPをサポートしていない言語ではなく、なぜOOPをサポートした言語を使って作るのか」については述べられていませんでした。
従って、本書は私の疑問には答えてくれませんでしたので、私と同じようなモチベーションを持っている方は本書を読んでもあまりメリットはないと思います。
44人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中1つ
コボラーにオブジェクト指向を教えるための本(第2版から変化なし)
2021年8月26日に日本でレビュー済み本書の根本的な問題は第2版から変化していない
本書の抱える原理的な問題は、構造化言語ですらないCOBOLのエンジニアの視点で書かれたOOPの書籍という現代では全く意味をなさない書籍であるという点である
本書はオブジェクト指向でなぜ作るのかというタイトルなのに、COBOLエンジニアであると思われる著者は「COBOLと違ってダンプファイルを読んでのデバッグが難しそうだなあ」とかいい出したり「昔はソースコードを紙に印刷して机上でデバッグして最後にマシンに入れてコンパイルしていた」などとオブジェクト指向とは無関係なソフトウェア開発の昔話をただひたすら繰り返す
実際、コボラーから見るとオブジェクト指向はまさにただの一技術、もっと言えばそういう文法の言語に過ぎないため、本書のような単にオブジェクト指向だと作りやすいからとかそういう内容になってしまうのは否めない。
ぶっちゃけコボラーが著者だとすると「クラスとは関数も持てる構造体です」のような理解の程度はともかく即座にコードを書いて設計ができるようになるような記述も書けるはずがないため本書には含まれていない
本書はコボラーというレガシー言語のエンジニアから見るとOOPはこのように見えているという発見はあるが、現代のITエンジニアはそのような歴史的な情報以外を一切手にすることができない
本書はオブジェクト指向でなぜ作るのかという問に一言も答えていない
ただ、レガシー言語のユーザーが過去と現在を比較して、現在のほうがいいなあ(だから現在の言語で作ろう)と述べているだけである
2021/10/04 第3版のレビューへの追記
本書を手にしてしまうとOOPを決定的に誤解してしまう可能性があり極めて危険であるのでもう少しだけ追記しておく
特に本書がターゲットとしている初~中級者エンジニアが本書を読んだ場合壊滅的なダメージを受けてしまう可能性があるので、その危機感からもうちょっと書き加える
まず本書のスタンスは一貫していてオブジェクト指向はただのそういう文法の言語のことであり、現実世界のモデリングとは何の関係もない、である
この時点で本書は決定的な誤解を招く書き方をしているということは上級者エンジニアには理解されると思う(が、中級者程度のエンジニアにはまさにそうだ! と受け取られかねない危険な記述である)
裏を返すと初~中級者エンジニアが「オブジェクト指向でなぜつくるのか」というタイトルに期待する内容の一つであるオブジェクト指向モデリングについて本書は殆ど触れていない
本書は無価値などころか危険な書籍であると思うので、その点を強調するために本書には書いていない(が、本書のターゲットとなっている読者層が知りたがる情報)についていくつか箇条書する
・どうしてメンバ変数をprivateにしてGetterとSetterを公開するんですか? 最初からメンバ変数をpublicにすればいいのでは?
→GetterとSetterには触れていない。また、アクセサによるメンバの公開範囲の話もプログラム言語の文法観点から触れているため、オブジェクト指向としてのアクセス修飾子の意味を一切本書は解説していない
・継承より委譲(コンポジション)の方が良いって聞きました! GoFはもう古いとも聞いたので詳しく知りたいです!
まず本書は継承をプログラム言語の1文法として解説している。そのうえでオブジェクトコンポジションの解説は含まれていない。特にGoFデザインパターンへの批判や現代ではどのように利用するべきかという情報は全く書いていない
・オブジェクト指向設計が苦手です! もっと設計について知りたいです!
本書はオブジェクト指向言語を「手続き型の文法とは異なるプログラミング言語の文法の1パラダイム」として解説している。
その説明の仕方自体は間違いだとは言い難いが「オブジェクト指向でなぜつくるのか」というタイトルと組み合わせると決定的な誤解を招き、エンジニアとしてのキャリアを潰しかねないかなり危険な内容の書籍となってしまう
つまり、本書はオブジェクト指向設計やUMLによるモデリングの話(特にその具体的な方法)の話があまりにも不足している
少しだけ擁護すると本書初版の出版当時はオブジェクト指向言語が過度にもてはやされていた時代であり、このような「ただのそういう文法の言語に何変な期待してるの?」と一石を投じる書籍はむしろ必要なものであった。
しかし、現代はもはやそういう時代ではない。
それどころか歴史的経緯を知らない(し、そんな20年前の業界の与太話など学ぶ理由もない)現代の初~中級者エンジニアがタイトルに惹かれて本書を手に取ると、とんでもない誤解をしてしまう可能性がある。
歴史書としては有力かもしれないが、本書はやはりよく注意して手に取るべき危険な書籍であることは間違いない
以下、第2版のレビューを転載
現代的なオブジェクト指向から入門したプログラマーには本書は全く不要である。
構造化がしっかりしているC言語から入った人ですら本書はおそらく不要である。
本書が必要なのはCOBOL頭のコボラーがJavaなどを必要になった場合だけである。
実際、読んでみると本書の大部分が構造化言語ですらないCOBOLとの比較であることに気づく。
せめてC言語との比較であればまだ読める内容だったのだろうが…。
「昔はダンプを読んでいた」
とかそんな情報、現代に必要です???
つまり、本書はオブジェクト指向言語とCOBOLというレガシー言語を比較してOOPの功罪を浮き彫りにしようとしただけの本であり、そのようなレガシー言語との比較である以上、現代において本書を読む意味はゼロである。
本書は「オブジェクト指向でなぜつくるのか」という問いに現代のプログラミングの観点からは全く答えていない。
「オブジェクト指向でなぜつくるのか」という問いへの答えを求めているのならば以下の二冊を薦める:
・Head First オブジェクト指向分析設計
・オブジェクト指向入門(バートランド・メイヤーの難しいやつ)
正直、OOPからプログラミングに入門した現代人には本書は不要どころか有害ですらあると思う。
2020/10/1追記
本書の内容の詳細を一部だけ見てみる。
OOP言語にはライブラリの概念があり、処理を使い回せるから便利みたいな記述があるが、これは実は著者がコボラーだという知識を持っていないと意図しているところが正しくは読み解けない。
COBOLという言語には関数の概念自体がなく、必要となる処理はたとえ汎用的に用いられるものであっても毎回その処理を用いる場所に書くのである。
つまり、コボラーは全く同じコードを毎日生産している。だから著者は「オブジェクト指向でなぜ作るのか」というテキストにライブラリの存在は有り難いという内容を盛り込んだのである。
また、COBOLでは変数は全てグローバル変数であるという知識を持っていると、メンバ変数の項の著者の意図を正確に読み解ける。
というか本書全体を貫く「昔は紙にソースコードを書いて机上でロジックを検討して最後にマシンに入れていた」とかそういう年寄りの昔話、「オブジェクト指向でなぜ作るのか」というタイトルの書籍に必要な情報なんですか?
そういう記述の歴史的価値は否定しないが、だったらソフトウェア開発昔話みたいな書籍を別に出版すればいいだけである。
本書からはOOPのことを一切読み取れない。というかCOBOLには構造体の概念すら存在しないので
「クラスは関数も同時に持てる構造体です」
というとりあえずソースコードを書けるようになる記述すら著者には難しかったはずである。
やたら評価が高いようであるが果たして本書から一体何を読み取っているのであろうか?
135人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください - 星5つ中1つ
考えが古く、読む価値はあまり無い
2021年12月13日に日本でレビュー済み結論から言えば、考え方が古く、教科書的なお決まりな内容しか記載されていないため、利用価値がありません。
「class dogからpochiをnewします。これがオブジェクト思考です。」
「class animalを継承しBabyクラスやDogクラスを表現できます。これがポリモーフィズムです。」
遥か昔のオブジェクト思考のテキストにはよくこのような揶揄が記載されていましたが、これは時代遅れなだけでなくある意味間違いです。
初心者はこのような誤った考え方が身についてしまう為、買うべきではありません。
また基本が身についている中級者以上でも読むべき個所はあまりありません。
内容は全体的に浅く、検索すれば出てくるものばかりで想定している対象読者がわかりません。
肝心のOOPについて読み始めれば「機械語によるプログラミング言語の歴史」から説明されます。
(FORTRANとか石器時代ですか?)
筆者は「10年後も通用する基本」であると述べています。技術的進化により陳腐化する情報は確かにありますが、本書は初めにも書いたような「机上の空論」的な内容ばかりで現場では全く使えません。
「プログラミングの歴史研究家」の方にはもしかしたら利用価値があるかもしれませんが、私には読むだけお金と時間の無駄でした。
47人のユーザーが役に立ったと感じていますフィードバックを送信中...フィードバックを送信中...参考になったフィードバックをお寄せいただきありがとうございます。申し訳ありませんが、投票の記録に失敗しました。 もう一度お試しくださいありがとうございます。数日中に調査いたします。申し訳ありません。このレビューを報告できませんでした。 もう一度お試しください












