オブジェクト指向本 - 人気 / 新書 / 高評価 書籍一覧 | 技術書の本だな


オブジェクト指向 人気本 ランキング

人気 1位
本書の内容
『オブジェクト指向でなぜつくるのか』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  
内容サンプル
 
User Voice
 
   
人気 2位
本書の内容
●『オブジェクト指向でなぜつくるのか』7年ぶり、待望の改訂第2版!

現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を
平易な文章で核心をズバリと解説します。

改訂第2版では、すべての文章を細かく見直して修正して、追加のトピックを記述したことに加えて、
多くの技術者の注目を集めている関数型言語の基本的な仕組みと思想を解説する
「第13章 関数型言語でなぜつくるのか」を新たに書き下ろしています。

◆オブジェクト指向の全体像を整理して解説
オブジェクト指向は、プログラミングをはじめ、フレームワーク、デザインパターン、UML、モデリング、
設計、アジャイル開発手法と、ソフトウエア開発全体を支える総合技術となっています。
本書では、オブジェクト指向の全体像とそこに含まれる各技術が何を目的として何を実現するのかを解説します。
併せて、混乱を避けるために全体を「プログラミング技術」と「汎用の整理術」の2つに分けて説明します。

◆OOPのプログラムが動く仕組みがわかる
OOPで書いたプログラムは、特有のメモリの使い方をします。
本書では静的領域、ヒープ領域、スタック領域に対して、クラスやインスタンスや変数がどのように配置され管理されて
いるのかを多数の図を使って説明します。これらを理解することで、自分の書いたプログラムがどのように
動いているのがイメージできるようになります。

◆関数型言語の本質がわかる
オブジェクト指向の「次」の技術として注目される関数型言語は、従来のプログラミング言語とは基本的な
仕組みや考え方が大きく異なっています。本書では関数型言語の仕組みを7つの特徴に分けて説明するとともに、
オブジェクト指向との関係についても述べます。  
内容サンプル
 
User Voice
グローバル変数の多用は予期せぬ変更で不具合を生む可能性が高い。
従来のプログラミングでは、グローバル変数が至るところから参照・変更されていた。
オブジェクト指向では、独立性の高い部品単位でプログラムを切り出しているのが特徴。
外部から参照・変更されないようにPrivateで隠したり、機能を共通化する継承や、外部からの利用され方を統一するポリモーフィズムという方法を採用し、影響範囲を限定・効率的な利用を促すことで、従来の課題に対する解決策としている。
また、オブジェクト指向を理解する上で必須のメモリ領域の仕組みやプログラムがどのようにして動作しているかの基本は非常に重要で、体系的に学べる良書であると感じた。

【中間コード】
異なるマシンでも同じプログラムを実行できるようにするための仕組み。
LinuxやWindowsでも同じJavaアプリケーションが動くのは、JavaVMが中間コードを解釈しているから。
.NETの場合はCLR。

【3種類のメモリ領域】
ヒープ領域は静的領域、スタック領域と密接に連携しながらアプリケーションを動かしている。

・静的領域
グローバル変数や実行コードを格納する領域。
アプリケーションでまとめて1つ確保している。
ヒープ領域で作成されたインスタンスがメソッドを呼び出すと、静的領域に保存してある実行コード内のメソッドを参照する仕組み。

・ヒープ領域
アプリケーションでまとめて1つ確保している。
プログラム開始時に確保されるメモリ領域で、アプリケーションの必要に応じてメモリの割当て・開放を行う。
インスタンス変数はここに格納され、複数のスレッドから共用される。
オブジェクト指向プログラミングはこのヒープ領域を大量に使って動くため、メモリの管理であるGCが大事。
ガーベッジコレクション(GC)はヒープ領域内にある確保されたメモリをチェックし、不要と判断したら開放していく。
不要と判断する基準としては静的領域やスタック領域から参照されているかどうかを見ている。(ヒープ領域内で完全に独立 or 循環参照している)

・スタック領域
インスタンスがメソッドを実行する単位(スレッド単位)毎に確保される。
サブルーチン動作に必要なメモリである、ローカル変数、引数、戻り値を確保している。
メモリへの格納単位はサブルーチン毎になるが数が多い。そこで、後入れ先出し方式を採用して効率化を図っている。(スタック領域と呼ばれる由来)
Cを勉強している身ですが、いつかjavaでもやろうと思って「オブジェクト指向」がどのようなものか知ってみることにし、この本を見つけました。読んでみてわかったことは「オブジェクト指向」というのは名前に過ぎないということです。なんか難しく聞こえるただの名前です。中身を1つひとつ読んでいけば構造がわかっていきました。
とりあえず、すぐにでもjavaを始めようと思います。
「オブジェクト指向」の言語や手法を知るには素晴らしい本です。初心者の目線で説明してくれて、専門用語や仕組みもしっかり記載してあります。引用文献までしっかりと記載してあって、かなり時間をかけて本を作ったのだということが分かりました。☆5でフィニッシュです。
15時間ほどで読めた。

Pythonでクラスをどういう時に書くべきなのか、
オブジェクト指向でプログラミングするとはどういうことなのかよくわかっていないので
オブジェクト指向とは何なのかじっくり調べたいと思って読みました。

この本は1冊まるまる書いているので説明が豊富でわかりやすかったです。

Pythonの入門本とかだと犬とか人間とかを例にしたりして解説するのが余計に混乱させられていたので
オブジェクト指向の歴史と意義やクラス(カプセル化)・継承・ポリモーフィズムが
どう意味なのかわかりやすく説明してありよかったです。
 
   
人気 3位
本書の内容
(概要)

オブジェクト指向ユーザーインターフェース(OOUI)とは、オブジェクト(もの、名詞)を起点としてUIを設計すること。タスク(やること、動詞)を起点としたUIに比べて、画面数が減って作業効率が高まり、また開発効率や拡張性も向上する、いわば「銀の弾丸」的な効果を持つ。ブログや雑誌記事などで大きな反響を得たこの設計手法について、前半部では理論やプロセスを詳説。そして後半部の「ワークアウト(実践演習)」では18の課題に読者がチャレンジ。実際に考え、手を動かし、試行錯誤をすることにより、OOUIの設計手法を体得できる。


(こんな方におすすめ)

・Web/モバイルアプリケーション開発者

・ユーザーインターフェースデザイナー

・フロントエンドエンジニア


(目次)

1 オブジェクト指向UIとは何か

  1-1 目当ての現し

  1-2 お金が先か、商品が先か

  1-3 オブジェクト指向UI

  1-4 オブジェクト指向か? タスク指向か?

  1-5 UIがタスク指向になってしまう背景

2 オブジェクト指向UIの設計プロセス

  2-1 デザインプロセスのミッシングリンクをつなぐ

  2-2 アプリケーションの手掛かり

  2-3 ユーザー、タスク、オブジェクトの関係

  2-4 ソフトウェアデザインのレイヤー

  2-5 デザインの究極の目的は形である

  2-6 オブジェクト指向UI設計の基本ステップ

3 オブジェクト指向UI設計の実践

  3-1 オブジェクト指向UIの設計ステップ

  3-2 本章でデザインするものの全体像

  3-3 ステップ1. オブジェクトの抽出

  3-4 ステップ2. ビューとナビゲーションの検討

  3-5 ステップ3. レイアウトパターンの適用

  3-6 タスクをどう扱うか

4 ワークアウト:基礎編

  進め方

  レベル1 メモアプリケーション

  レベル2 社員名簿アプリケーション

  レベル3 イベント店舗管理アプリケーション

  レベル4 会議室予約アプリケーション

  レベル5 家族で遊べる場所を探すアプリケーション

  レベル6 商品管理アプリケーション

  レベル7 商品管理アプリケーション

  レベル8 商品管理アプリケーション

  レベル9 商品管理アプリケーション

5 ワークアウト:応用編

  進め方

  レベル10 スマートフォン用の営業支援アプリケーション

  レベル11 イベント管理アプリケーション

  レベル12 保険契約の顧客管理アプリケーション

  レベル13 アセット管理アプリケーション

  レベル14 サイト管理アプリケーション

  レベル15 出張申請・精算アプリケーション

  レベル16 契約管理アプリケーション

  レベル17 通貨換算アプリケーション

  レベル18 販売実績照会アプリケーション

6 オブジェクト指向UIのフィロソフィー

  6-1 オブジェクトの原義

  6-2 オブジェクト指向

  6-3 GUI

  6-4 モードレス

  6-5 オブジェクト指向UIについての文献
 
内容サンプル
 
User Voice
【 オブジェクト指向の説明はわかりやすい 】
オブジェクト指向のUIデザインとは何かを説明するために、間違って同じ本を買わないための蔵書リストソフトのフローの考え方。そして、先にお金を入れないと使えない牛丼屋の券売機の使い難さについて述べている。

この後、実際のプログラム作りの説明に入るがプログラムを実際に書くわけでは無く、オブジェクト指向の概念と理念をいくつかの具体的なテーマに沿ったフローチャートで説明している。

【 UIの観念が完全に欠落している役所のWebページ 】
2020年6月時点で混乱を極めているマイナンバーカードによる給付金の支払い。申請者の記載不備により大量に停滞しているのも、もとをただせばUIの出来が悪いからである。
出来が悪いままリリースされてしまったのは、発注側の役人がソフト屋が実演して見せたタスクが動作することだけを確認して、UIのわかり易さ、使い勝手は考えもせずに受領のハンコを押したからである。
できの悪いUIを見たことが無い人はe-Taxのサイトを開いてみるとよくわかる。どこが入り口でなにをするのか全く分からないページがLinkだらけでつながっている。しかもLink先はPDFだ。
何しろ、国税のe-Taxはつい2年ほど前までブラウザにChromeが使えなかったのだ。
インターフェイス以前の問題である。

【 他の業務や社会生活にも使えるオブジェクト指向 】
したがって、UI指向の意義と段取りを理解すればプログラムを書く人でなくとも、自分の業務に顧客とのインターフェイスがある人は読んで損は無い。
要求仕様を作るときに必須だが、プレゼンをするときにも的確なアプローチができるはずである。
パワポに字をいっぱい書かなくてもね。
技術者だけでなくUIデザインをすることになった印刷系デザイナーさんや機能を定義する発注社さんにも読んでほしい良書です。

一部の人にとってデザインやユーザーインターフェースというとphotoshopやIllustratorを使って作る職人技的な絵や飾り付けのことだと思われるかもしれませんが本書はそういった芸術的側面については触れません。
あくまでソフトウェアにおける「ナビゲーションを的確に示すための概念」としてのUI調整(ワイヤー作成)の手順がとても的確に(いささか技術者向けの視点で)文章化されているものになっています。

とかく下請け構造の中にあるとUIデザインというのは技術者やデザイナーの預かり知らぬ間に決まってしまい、あとからおかしいと感じても変更の重要性を共有し承認を得るだけの時間が取れないという局面が多く発生しますが、本書はUIデザインにおいて技能を持った人間以外にもわかりやすく体系立てて方法論を解説しており、共通の認識として共有しやすいものになっています。

「ビュー」「プレゼンテーション層」「タスク」「サブミット」など初歩的ではあれ専門用語も多めでほとんど文字と簡単な図だけの硬派な内容ですが、応用の利く普遍的なノウハウが紹介されており、物理的な書籍で購入して共有したい良書だと思いました
UIデザイナーです。友人たちが販売前からこぞって予約をしており、中身をみていませんでしたがものは試しに買ってみました。
今まで何となく感覚でわかっていたけど、言語化、構造化できなかったことがこれを見てものすごく納得!
また後半からは実際に手を動かすワークもあり、情報設計のプロセスを体系的に知ることができます。
設計段階から携わるポジションにいる全ての人に読んでほしい。
 
   
人気 4位
本書の内容
「ソースがごちゃごちゃしていて、どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために、あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが、本来はありえない場所にまで影響して、大幅なやり直しになってしまった」といったトラブルが起こるのは、ソフトウェアの設計に問題があるから。日本最大級となる60万件以上の求人情報サイト「イーキャリアJobSearch」の主任設計者であり、システム設計のベテランである著者が、コードの具体例を示しながら、良い設計のやり方と考え方を解説します。  
内容サンプル
 
User Voice
オブジェクト指向を活用したドメイン駆動設計(DDD)が丁寧に解説されています。本全体を通じて、オブジェクト指向の良さを生かし、「オブジェクト指向らしく」設計するためにはどうしたら良いか、が具体的な場面を想定して展開されていきます。

その中でも、3層アーキテクチャを例に、従来の手続き型の設計と対比させながら、業務の関心事を分離してドメインモデルを設計していく手法と、リファクタリングも含め、DDDに必要な要素を解説している4章は特に読み応えがありました。

対象としている読者層への配慮からだと思われますが、「オブジェクト指向らしく」が具体例を交えながら丁寧に解説されるため、冗長と感じてしまう部分はあるかもしれません。反面、プログラミングに十分習熟していない私でも理解できる程に噛み砕かれており、オブジェクト指向を少し学んだ初級者~中級者レベル向きだと感じました。良書だと思います。
ドメインオブジェクトにビジネスロジックを凝集したいという考えは良いと思った。
ただ、この開発手法を実践するためにはメンバーに思想を周知する必要があるし、継続的なリファクタリングが必須になる。
そのため自由がきいて、かつ少人数のプロジェクトでないと実践するのは難しいかな、という印象。
実践するとしても、すべての領域にドメインの考えを適用する必要があるかは考える余地がある。

こうした考えがあることを知っておけば活かせる局面もあるはずなので、ドメイン駆動設計ってなに? という私には価値のある本だった。
著者も明記していますが、すべてのプロジェクトメンバーがオブジェクト思考のある程度の知識を備えていないと、すべては実践できないと思います。
下手をすれば状況が悪化する場合もあるかと思います。
しかしながらオブジェクト思考を実践するためのエッセンスは多く散りばめてあり、部分的に取り入れていくことで、その実感、経験をすることはできると思いました。(クラスやメソッドを小さくとか、当たり前と思って実践してたけど理由があやふやでした)
この点で、この著書を購入して良かったと思います。
あと、原典のような書籍(分厚く自分は読むのが苦痛)を噛み砕いて分かりやすく説明しているのもありがたいです。
 
   
人気 5位
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。

著者らの実践した授業内容を基に、各章末に演習問題を配し、また側注でアシストを行ない、初学者が迷わず学べるよう工夫してある。最終章では、アドバンスなプログラミング手法も解説する。オブジェクト指向ブログラミングをしっかり学ぶ読者には必携の書である。  
内容サンプル
 
User Voice
大学の指定教科書であったため購入したが著者、監修が完全に理解しきった人のみで書かれているため初めての人目線では書かれていない。同大学のある教授もこの本は不親切な本であり他の参考書を買うことを強く勧めるとおっしゃっていた。入門とはとても思えない内容となっているので注意していただきたい。
 
   
人気 6位
本書の内容
Javaプログラミング言語習得において,新人プログラマーの最初の障害は「オブジェクト指向の壁」です。本書は, Javaのソフトウェア開発を中心に事業を発展させてきた アクロクエストテクノロジー社の新人教育セミナーを加筆・書籍化したもので,大卒の新人に対して,ゼロからJava言語を教えてきた実績をフィードバックしています。単にプログラミングを「覚える」のではなく,その「考え方を理解」させ,さらに「手を動かしソースを書く」ことを基本とし,知らず知らずのうちにオブジェクト指向が身につくようになっています。  
内容サンプル
 
User Voice
何年も前に購入しましたが、今でも時々読み返したくなる本です。
オブジェクト指向の入門書にありがちな動物を継承して犬を作る、などの
概念的すぎて何を言いたいのかわからない説明は一切ありません。
このときはインターフェイスを使いましょう、このときは抽象的クラスを使いましょう、
といったように、問題を解決するための設計手法が具体的に解説されています。
また、文章のわかりやすさもあらゆる入門書の中で群を抜いています。
平易な文章で書かれた入門書はいくらでもありますが、
柔らかい言葉を使っているだけで説明自体はわかりやすくもなんともない、といったケースが多く、
この本のように初心者と目線を合わせることを意識して書かれた本はなかなか無いと思います。
Javaのエンジニアだけでなく、他のオブジェクト指向言語のエンジニアや、
人にものを教える仕事をしている人にも是非読んでほしい本です。
まずタイトル通りオブジェクト指向でJava開発ができない人や
「オブジェクト指向って大事だな!でも実際何から始めればいいんだ?」
という人にはとてもおすすめな☆5です。

すでにオブジェクト指向で開発できていると思っている人には、復習になるのでおすすめです。
(この場合は☆3くらい)

ます序盤はオブジェクト指向の復習にオブジェクト指向でないプログラムの欠点を説明しています。
ジャンケンを例にしているので分かりやすい。

オブジェクト指向のプログラムに関してはトランプのババ抜きを例にして、良い点を説明していてる。
ソースコードもシンプルで頭に入りやすい。

また文章(要件)を元にUMLにて分析を行い、それ元にプログラムに落とし込む流れも分かりやすくてよかった。

まさにオブジェクト指向Java入門書です!!
私は、今この本で勉強中でまだ半分から3分の2程度しか読んでいません。ですが、なぜオブジェクト指向のプログラミングをするべきなのか知ることができました。つまりは、あるシステムのプログラミングをするにあたり、その規模が多少でも大きくなりかけてくると、後から機能を追加するなど後から工夫をこらしたくなってきます。そのような時、また、最初からプログラムを作り直すのはやはり面倒です。そのとき、継承、オーバーライド、ポリモーフィズムなどの機能をつかうとプログラムの改良が容易になるのだと思いました。私はこの本を読んでそう思ったのですが皆さんはどうでしょうか?
 
   
人気 7位
本書の内容
『新・明解C++入門』の姉妹編、ここに刊行

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

C++を用いてオブジェクト指向プログラミングの基礎を学習するための入門書です。

まずは、クラスの基礎から学習を始めます。データと、それを扱う手続きとをまとめることによってクラスを作成します。それから、派生・継承、仮想関数、抽象クラス、例外処理、クラステンプレートなどを学習し、オブジェクト指向プログラミングの核心へと話が進んでいきます。その過程で、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めていきます。最後の三つの章では、ベクトル、文字列、入出力ストリームといった、重要かつ基本的なライブラリについて学習します。
本書を通して、読者は、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めることができるでしょう。

なお、本書は、『新・明解C++入門』(2017年12月刊行)の姉妹編であり、『新・明解C++入門』でC++の基礎を学んだ読者にとって最適なテキストです。

●目次
はじめに
第1章 クラスの基礎
第2章 具象クラスの作成
第3章 変換関数と演算子関数
第4章 資源獲得時初期化と例外処理
第5章 継 承
第6章 仮想関数と多相性
第7章 抽象クラス
第8章 多重継承
第9章 例外処理
第10章 クラステンプレート
第11章 ベクトルライブラリ
第12章 文字列ライブラリ
第13章 ストリームへの入出力
参考文献
索引
謝辞
著者紹介

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
今まで、FORTRAN、COBOL、BASIC、PL/I、C言語、Perl、PHP5、C++、C#さらには、SQL、HTML5、CSS3、JavaScriptなど各種プログラミング言語の習得に努めてきたが、やはりC++がいちばん難解である。
望洋先生のアルゴリズムは簡潔で洗練されているため、数学的素養のない自分には理解するのが大変であるが、挫折しそうになる心に鞭打って、先を急がずに毎日ちょっとずつ進めているところである。
しっかりした内容で、申し分のない、安定したクオリティーです。有難うございます。
前回のC++入門編と本書をセットとして考えれば網羅性は高く、
丁寧に説明してると思います。

しかし本文中に結構間違いがあったりします。
例で示している構文が間違っていたり説明が間違っていたり。。
コードを掲載している部分はコンパイル済みのものを転記していると思われるので、
掲載部分は基本信じてよさそうです。
なので「え?ちがくね?」って箇所があったら
例文が公開されているので落としてきて、それをいじりながら実験してみれば
理解度はつくと思います。
 
   
人気 8位
本書の内容
本書は、すぐれた組み込みソフトウェアを開発するための手法を豊富なサンプルコードとともに解説する本です。
前半では、制約のある組み込み環境でテスト駆動開発を行うための基礎知識とノウハウを懇切丁寧に紹介します。
後半では、オブジェクト指向をベースに考え出されたSOLID原則やリファクタリングをC言語に適用し、アジャイルな設計を実現するための方法を示します。
さらに、レガシーコードへのテストの追加方法についてもサンプルコードを使って詳細に解説します。

テスト駆動開発を学びたい、アジャイル開発について知りたい、レガシーコードと日々格闘している、そんなすべての組み込みCプログラマ必携の一冊です。  
内容サンプル
 
User Voice
ハードウェアを制御する必要がある組込みシステムにおいて、開発者は、xUnitやテスト駆動開発を導入するのは難しいと考えがちだ。本書は、そのような読者を想定している。組込みシステムにおいても、少しの工夫によってxUnitを使ったテスト駆動開発が適用できることを、具体的な演習を通じて体験的に理解できるよう構成してある。

まず、いきなりテスト駆動のサイクルを押しつけてはこない。組込みシステム固有の問題を挙げては、その回避や対処の方法を示し、それからテスト駆動の一部を適用するという手順で、徐々に適用を進めていく。この進め方であれば、テスト駆動に懐疑的な開発者も得心するであろうと感じた。

そして、本書の演習に従ってテスト駆動で開発してみれば、ハードウェアを動かすコードと、機器の機能を提供するアプリケーション側のコードがきちんと分離された構造が得られることも体感できる。組込みシステムの開発者は、ハードウェアを動かすために書いたコードを膨らませてアプリケーションを作りがちだが、そのような状況を改善する方法を解説しているとも見なせるだろう。

また、組込みシステムにテスト駆動を適用するときに遭遇しがちな問題に、ひとつひとつ対処している。実は紹介している対処法の多くは、組込みシステムのプログラマが経験的に利用している方法である。登場するのは、データ隠蔽、シングルインスタンスモジュール、マルチインスタンスモジュール、デュアルターゲット、テストダブル、スタブなどだ。組込みプログラミングにおける各種テクニックを紹介しているとみてもよいだろう。

たとえば、Cプログラマならば、データのカプセル化のためにヘッダファイルで構造体を宣言する方法を使っているだろう。本書では、さらに手堅いデータ隠蔽の方法として、ヘッダファイルには構造体の不完全型宣言だけを書いておき、構造体の完全な宣言は.cファイルに書いておく方法を紹介している。あるいは、ヘッダファイルには関数へのポインタを宣言しておき、本番用関数とスタブとして用意した関数の名前が異なっていた場合でも入れ替えを容易にする方法なども紹介している。このようなテクニックは、組込みシステムのプログラマにはよく知られているものであるが、書籍にまとまった解説があると導入や教育の際に大いに助かる。

さらに、本文の各所で、文献を参照し、著名人のことばを引用している。たとえば、本書の前段では、ジャックガンスルの「開発の縦糸と横糸」の引用がある。彼のことばによって、ハードウェアをテストし、コードをテストし、そして結合してテストする、という本書の重要な考え方が象徴されており、その後に続くテスト駆動の導入に引き込まれていく。
効果的な引用は、この本から次の段階へ進む場合に、よい道先案内となるだろう。

必ずしもxUnitやテスト駆動開発にこだわらなくても、読者が本書から得るものは多い。
組込みシステムの開発、とりわけ分割したテストするためのよい方法を求めている開発者に、本書を推奨する。
確かに、書かれているようにxUnitを使い、C言語でテストフレームワークを作り、オブジェクト指向設計、プログラミングすると改善はするのだろう。しかし、「C++がまともに使えたら相当の部分が楽になるんじゃないだろうか」と首を傾げながら読んだ。人がえっちらおっちらvtableの真似事をプログラミングする部分をコンパイラが自動でやってくれるのだから。

また、テスト用のIFを重ねてごちゃごちゃになったソースコード、オブジェクト指向風に書いたCのソースをめちゃくちゃにされた後にメンテを放り投げられた経験などを思い起こして、暗い気持ちになった。

いろいろとある現場の矛盾を、こういう「C言語でオブジェクト指向すれば解決」という単純な切り口で語っていいものだろうか。良書なのだろうけれど、このやり方を単純に日本の開発現場に放り込んでも、なんだかなあという気がする。つまり、良い本なのだけれど、自分たちの環境がだめだこりゃ、なのである。
組み込みとタイトルに書かれていますが,OSなどのミドルウェア開発でC言語を使った開発全般に通じる書籍です.

1部でTDDの話をした後,2部で実際にTDDを使った開発の流れを説明します.
また2部では,どのようにしてテストを行うと良いのか,ハードウェアからの依存をどうやって避けるか,などの手法が書かれています.
(この辺りはタイトル通り組み込みに焦点を当てている印象です)
3部では,2部で作ったプロダクトを元に,設計の方法やリファクタリングの手法,
レガシーコードとの向き合い方について説明しています.
インターフェイスの切り出し方やコードの臭いなどの話も多く,非常にわかりやすいです.

致命的なものはありませんが,若干,日本語訳にやや難がありましたので☆を1つ下げさせてもらいました.
とは言え,それ以上に濃い内容です.
 
   
人気 9位
本書の内容
即戦力の知識を上下巻1000ページ超のボリュームで集大成!

Webアプリケーションの定番言語であるPHPの基礎から実践までを、上下巻のフルボリュームで集大成。

「この目的を実現するためには、どの文法テクニックが適合しやすいだろう」?
「このプログラムをより読みやすくするために、どんなアプローチができるだろう」?

といったことを思考しつつ、「とりあえずは動く」だけで終わらない、現場に求められる品質を形にするための知識とテクニックを解説します。  
内容サンプル
 
User Voice
まだ上巻のみだがWebアプリケーションの仕組みやそこでのPHPの役割と言った基礎的なところから話をスタートしてくれており、非常に親切。

またオブジェクト指向や例外処理といった初学者が詰まりやすいポイントに対しても「なぜ使うのか」「どうやって使うのか」といったことを踏まえて説明がなされており理解が捗る。

本書のみでまったくの初心者が学習をスタートするのは厳しいが、(1)「他言語経験者」、もしくは(2)「すでにPHPのより基本的な入門書籍かドットインストール等を完了済」、であればオススメ出来る内容だと思う。下巻も購入したい。
PHPで初心者がつまりそうな箇所を実務的な経験をふまえ詳しく解説しています。タイトルの通り上巻だけでオブジェクト指向からDB連携まで網羅しています。個人的には、この本が一番基本を押さえていて分かりやすいと思いました。私は独習シリーズよりこちらの方が良いです。
初心者には上巻だけで十分足りる内容です。下巻は必要に応じて購入すればよいでしょう。下巻は主にセキュリティやオブジェクト指向のより詳しい内容です。上巻の目次に下巻の目次も記載されています。また、出版社HPからサンプルソースもダウンロードできます。
上巻をほぼ読み終えたところです。
最近ではPHPにについて詳しく、基礎的なレベルで出されている本が少ない中(主観です)、初心者がつまづきそうなことろを考慮された内容で、かつ詳しく解説されており大変参考になる内容でした。このボリュームであり著者の尽力に感謝致します。
下巻にも取り掛かる予定です。(著者に方に)ありがとうございました。
 
   
人気 10位
本書の内容
こちらの書籍は 2020/05/27 紙版の3刷に対応するため更新をおこないました。
(概要)
誕生から20年を迎え,幅広い分野のプログラミングに欠かせないJavaの基礎から応用までをしっかり解説。Javaの最新仕様(Java 8)に基づく文法から,オブジェクト指向やデザインパターン,そしてビルド,ドキュメンテーション,品質への配慮などまで,現場の開発で避けてはとおれない話もきちんとおさえました。開発やトラブルシュート経験の豊富なアクロクエストテクノロジーのメンバーが,保守性,堅牢性,性能,開発効率などの観点をふまえて書き下ろした,Java開発者必携の1冊。

(こんな方におすすめ)
・Javaの基本は理解できているものの実践的な知識はわからない方
・以前からJavaを使っているもののJava 8の新たな文法はご存知ない方

(目次)
Chapter 1 Javaの基本を知ろう ~イントロダクション~

Chapter 2 基本的な書き方を身につける

Chapter 3 型を極める

Chapter 4 配列とコレクションを極める

Chapter 5 ストリーム処理を使いこなす ~ラムダ式とStream API~

Chapter 6 例外を極める

Chapter 7 文字列操作を極める

Chapter 8 ファイル操作を極める

Chapter 9 日付処理を極める

Chapter 10 オブジェクト指向をたしなむ

Chapter 11 スレッドセーフをたしなむ

Chapter 12 デザインパターンをたしなむ

Chapter 13 周辺ツールで品質を上げる

Chapter 14 ライブラリで効率を上げる  
内容サンプル
 
User Voice
全体的に分かりやすい説明でお勧めできると思う。

Java8のラムダ式やStream APIなど今時のプログラミングスタイルは従来の多くのjavaプログラマが使いこなせていないらしい。この機能追加は今までのJavaのアップグレードとは違う領域に踏み込んでおり、きちんとフォロアップしておく必要があるが、おそらく予想以上に苦戦する人も多いのではないかと思う。むしろ他の言語(javascrit,ruby,python,phpなど)をやっていた人が本書を読んで一気にキャッチアップし抜き去ってしまう事態がないとも限らない。
Javaの例外(Exception/RuntimeException)の区分と使い分けは、いつも人に教えるときに苦労しています。しかし、これからはこの本を渡しておけばその苦労をする必要はなさそうです。
Javaを少しは書けるようになってきたが、例外とかマルチスレッドとかよくわからない という人にオススメだと思います。StreamAPIなどの説明もしっかり記述されています。
JAVAの再学習に最適な本だと思う。非常に読みやすくとっても気にいってます。
 
   
人気 11位
本書の内容
(概要)
オブジェクト指向設計の名著として名高い“Practical Object-Oriented Design in Ruby”,待望の翻訳版!使いこなせるようになるととても便利なオブジェクト指向ですが,「なんとなく」の理解で使っていると,大きな罠にかかってしまいます。本書は,保守性を上げて運用コストを下げるアプリケーションをつくるために,クラス設計から基本概念,継承のテクニック,ダックタイプ,そしてテスト設計まで,幅広くカバーしています。オブジェクト指向言語を使用するすべての人におすすめの1冊です。

(こんな方におすすめ)
・オブジェクト指向プログラミングをしたことがある人
・オブジェクト指向設計に悩んでいる人

(目次)
第1章 オブジェクト指向設計

第2章 単一責任のクラスを設計する

第3章 依存関係を管理する

第4章 柔軟なインターフェースをつくる

第5章 ダックタイピングでコストを削減する

第6章 継承によって振る舞いを獲得する

第7章 モジュールでロールの振る舞いを共有する

第8章 コンポジションでオブジェクトを組み合わせる

第9章 費用対効果の高いテストを設計する  
内容サンプル
 
User Voice
・クラスの単一責任化(クラス間が疎結合なコードを書く)
- クラスにメソッドを追加する時にそのクラスが知るべき情報なのかを自問自答する。
- 疎結合にしておかないと、1つの修正が他のクラスへの影響し、ひいてはサービスの品質へと繋がる。
- 単一責任化することで、疎結合同士のクラスとなる。この情報はどのクラスに聞けばわかるか(クラス間の依存関係)容易になり、変更が容易なアプリケーションの土台へと繋がる。
・単一責任の考慮不足の場合に起こり得るアンチパターンとして、本当は他のクラスから聞き出せばいいのに、自身のクラス内に取り込んでしまう場合。その場合、メソッドの引数に知りたい情報を持っているオブジェクトを注入し、クラスが必要以上の情報を持たないよう疎結合な設計にする。

・修正が発生した際にコストを掛けずに改修したい
- 依存性の高い設計にしないこと。よくあるアンチパターンとして、is_a?、kind_of?、responds_to?、case文でオブジェクトの種類毎にロジックを分岐させている場合要注意
- 依存性を減らした設計ができないか(ダックタイピング)を検討し、各クラスに同じメソッドを実装、別クラスへの切り出し、ポリモーフィックの利用を考えてみる。

・継承先で継承元と疎結合になるよう適宜フックメッセージを使う
どんなプログラマーでもsuperの送り忘れはあり得る。superの利用忘れは継承元への依存が高いことを意味する。
そこで、継承元にフックメソッドを用意し、結合度を低減させ変更に強くする

・メソッド探査パスへの理解
extendしたメソッドとincludeしたモジュール群に定義されたメソッドの場合、extendした方が先に探査される。
また、includeされたモジュールが複数あった場合のメッソドの探査は最後にインクルードされたモジュールから探査される。

・継承とコンポジションの利用の判断
継承はメッセージの委譲コストが楽になるが、オブジェクト間の階層構造により依存関係を強く持つことになる。
コンポジションは小さなオブジェクト単位を作るため、責任範囲が明快。階層構造から独立しているので見通しが良くなる。
rubyはオブジェクト指向言語で、さらにrubyならではのオブジェクト指向的なプログラムの書き方、クラスオブジェクトの設計の仕方というがあります。

この本は「rubyでオブジェクト指向プログラミングをするならせめてこういう設計でやれ」という手法について教えてくれてます。

筆者は教えるのがとてもうまいです。自分を完璧の権化のように見せることなく、ごく平凡な発想で作ったクラスの例を出してから話を始めます。そしてそのように最初に設計してしまうのも、別に間違いではないと言うのです。必要な要素をすべて見越すことなどできないと言い切ります。

それからそうした設計の欠点がどういうふうに現れ出し、その結果どういう設計が求められ、それをrubyでやるならどうするか、という手順を踏んでプログラムの進化する様を見せてくれます。なので、とても腑に落ちて理解できました。

これを読まなくてもrubyのプログラムは、はっきり言って、できると思います。
でもこれを読んだ後なら「なぜそのようにクラスを書くのか」ということに対してベストプラクティスを基にした一定の根拠を持てるようになるでしょう。

ゆえにrubyを使ってプログラムを書くなら必読級の著作と思います。
オブジェクト指向言語でのクラス設計の基本を、Rubyの観点から網羅した素晴らしい本です。
“説明する内容の とても基本的な事を綴(つづ)る事には一貫して起承転結させている”と言えば お分かりいただけるでしょうか。
貴方のプログラミング技術が素直であればあるほど この本の解説はすんなり読み取れるでしょう。
ただし、他のレビュワーの方々が折に指摘されている通り、翻訳には変に突っかかった独特の癖があります。
私が読みますに、恐らくは直訳で一貫していて意訳を一切含めていないのが原因だと思います。
これは捕捉ですが、例えば、一般的に見慣れない蛍光板が街に設置されていて、誰かが
It can view result as message.
と言えば、これは「実はアレ、メッセージボードなんだ」という意味になりますが、これを直訳のままにすれば「それは結果をメッセージとして表示できるようにしている」となりますね。
訳された方がワザとやっておられるのかは定かではありませんが、それさえ把握できれば普通に読めます。
 
   
人気 12位
本書の内容
オブジェクト指向にチャレンジしよう。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

オブジェクト指向言語としてのJavaの特徴を平易に解説。クラス、例外、継承、スレッド、パッケージ、コレクションなど、Javaをマスターする上で必須といわれるオブジェクト指向の基礎が、初心者でも簡単に理解できます。

●目次
第11章 クラスとインスタンス
第12章 スーパークラスとサブクラス
第13章 例外
第14章 インタフェース
第15章 ガーベッジコレクション
第16章 スレッド
第17章 パッケージ
第18章 ファイル操作と入出力、クラスの調べ方
第19章 コレクション

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
この本を最後まで読んでいくと・・・。
●●は本書では触れていません、という注意書きがあります。
(ジェネリクス、List等、Javaで相当使える機能なので触れてないのは勿体ない)
Javaで出来る事を網羅したいなら、役不足です。
サンプルプログラムも少ないし、コンパイルのやり方等には触れていません。
よって、コンパイルエラーで困っている時は本書はあまり役に立ちません。

とこんだけ書くとこの参考書は悪いの?って思いますがそうではありません。
途中までは結構解りやすく書いてあるし、他の参考書と併用する事で威力を発揮します。
サンプルプログラム主体の参考書を読んだうえで、文法の詳細が知りたいという人にお薦めします。
(要は初心者向けのペラペラの参考書で何となくプログラムを書く→この参考書でじっくり勉強という流れ)
勤め先でも関連会社でもこの本をテキストとしてJavaの講義をしています。
内容もサンプルコードも充実しており、しっかりと基礎が身につきます。
本の問題では無いので星は5つ。

BASICなど、非オブジェクト指向の言語に馴れているため、下巻の内容を理解するのに時間がかかっています。
 
   
人気 13位
本書の内容
あなたはオブジェクト指向を本当に理解できていますか? その問いに、誰もがイエスと答えられるように、本書を書き下ろしました。本書は、Javaのオブジェクト指向について、わかりやすい図版や先輩ネコと新人ネコの楽しい会話文でじっくり丁寧に解説したJavaオブジェクト指向徹底解説本です。Java8から新しく登場したラムダ式やストリーム処理についても解説しています。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
独学でプログラミングを学んでいる者です。
そして、私も、ご多分にもれず、オブジェクト指向のところつまづきました。
当時、なんとか理解したい一心で、オブジェクト指向を解説した参考書を
手当たりしだい読んでおりました。
もちろん、多くの書籍では簡潔かつ良質なテキストで説明がなされていました。
しかし、私があまりにも無知すぎるゆえに、それらの書籍では「なるほど」という理解を得ることができませんでした。
一方、本書では、そのような私でも「なるほど」という理解を得ることができました。
理解を得ることができた理由は、シンプルで、一般的なオブジェクト指向の参考書であれば、説明を省略してしまうであろう、基礎的な前提知識、観点、その界隈における慣習・常識などを、省略することなく、丁寧かつ、そして、まろやかな文体で、解説してくださっているためです。

おそらく、著者の川場先生は、私のような独学プログラミング初心者までも読者として想定し、本書のみで「オブジェクト指向の目的と基礎的なメカニズムを理解した上で、一応、実践で使える」というレベルに到達できるよう、熟考して、本書を執筆されているのでしょう。

そのため、説明文に簡潔さはありません。読む方によっては「そんな当たり前のこともいちいち書くのか」と、ややくどく感じられるかもしれませんが、その当たり前のこともよくわからない、私のような独学プログラミング初心者にとっては、本書はたいへん貴重な一冊だと思います。
今まで色々なJavaの入門書&学習書を読んできましたが、この本の内容はお世辞抜きで現時点で最高です!
以下、この書籍の優れている点を列挙します。

・題名の通り、Java8以降の重要な文法事項(NIOやラムダ式、ストリーム処理、マルチスレッド処理など)が漏れなく、詳細かつ極めて分かりやすく解説されている。

・全体を24の小単元に分け、説明の区切りごとの簡単な練習問題や各単元ごとの章末問題(プログラム作成を含む)が豊富に用意されており、これらの問題を解くことで、本文の説明文の理解度を着実にチェックしながら学習を進めていくことができる。

・今まで理解が曖昧なまま平気で当たり前のように使ってきたオブジェクト指向の基本事項(インスタンスやメンバ、コンストラクタの仕組みなど)が丁寧に説明されており、他の入門書だけでは気づかなかった箇所が多々あった。

・書籍専用のWebサイト(http://k-webs.jp/oop/index.html)が用意されており、内容が大変充実している上に、メンテナンスもきちんと行われている。本書のサンプルプログラム(Eclipseのプロジェクト形式のものと個別のファイル形式のもの)ももちろんアップされている。

なお、本書では、Java言語の学習事項のうち、GUI関係(SwingやJavaFX)、ネットワーク関係、データベース関係、Webアプリ関係は守備範囲外となっています。
・分かりやすい!
とても分かりやすく、文系出身の私でもスムーズに理解できました。前作の分かりやすいJAVAも大変分かりやすかったのですが、本作も安定の分かりやすさでした。
本当に理解出来るため、ボリュームの割に短期間で読了&理解できました。
・猫が可愛い!!
所々の猫が可愛く、勉強中の楽しみでした。猫好きの方にオススメです。内容はしっかり仕事にも使えるレベルまで網羅しており、所々に遊び心もありで、非常にバランスの良い本だと思います。
 
   
人気 14位
本書の内容
オブジェクト指向ソフトウェア設計の際に繰り返し現れる重要な部品をデザインパターンとして記録し、カタログ化。改訂版ではこれにCD−ROMを添付、現場でブラウザを通して即利用できるパターンカタログデジタル版を収録。特別付録として、原書にはないJavaのサンプルコードを追加。
【技術書翻訳名著シリーズ】
ソフトウェア開発のバイブル群! 弊社がこれまでに刊行した翻訳技術書の中から、長年読者から支持され続けている名著を厳選したのが、本シリーズです。移り変わりの激しいコンピュータ業界で、普遍性を保ち続ける定番をお届けします。ソフトウェア開発の上流から下流まで、入門書からエキスパート向けまで、技術者に求められる選りすぐりの情報がここにあります。
 
内容サンプル
 
User Voice
確かにこの本は予備知識なしに読むのは難しいですね。
まず、"デザインパターン"とは何かということを、そしてその記述の仕方(パターン名、問題、解決、結果)を第1章で説明されていますが、事前に知っておいたほうが読みやすいと思います。
第2章ではLexiというTexに似たドキュメントエディタのなかにどんなデザインパターンが使われているか書かれています。個人的にもデザインパターンを説明するにはテキストエディタや描画エディタが最適だと思い、2章も押さえておくと以降も理解しやすいです。
第3章以降でやっとそれぞれ(生成、構造、振る舞い)のデザインパターンが紹介されています。"生成"、"構造"、"振る舞い"というのが何を意味しているのか初めはよくわかりませんでしたが、各パターンを見ていくうちにこの区別の仕方が理解できます。
ただし各章を順番どおりに読んでいくのではなく、後へ先へページを何度もめくっていく中で理解していくことができるでしょう。
「デザインパターン」を学ぶ上で、結城浩氏の「Java言語で学ぶデザインパターン入門」やW.J. ブラウンの「アンチパターン―ソフトウェア危篤患者の救出」もお勧めです。
この本は、SEがプログラムの詳細まで指示をして、末端に極力考えさせないようにする日本のIT土方には全く不要だと思う。
ではSEならば初期のスクラッチモデルを作るとき、この本が役に立つかというと、それもそうではない気がする。

いまの日本ではデザインパターン自体を直接プログラム製造に生かす機会は少ないのではないだろうか。
スクリプトもマシンの力業でパターンを使わずに作れる。

この本の用途としては、オブジェクトに対する感覚といった、プログラムのセンスを磨くための本であると私は考えている。例えばFlyweightにあるIntrinsicとExtrinsicのように、プログラムの全体要素を多数と少数の部分に切り分けるといった、全体の中の大小のトレードオフをする感覚といったものを(今となっては)磨くことができるのではないだろうか。あとライブラリを作る時にも参考になると思う。
ウェブサイトでまとめてある物では何故その設計思考に至ったのかが書かれていなかったり、
どの様なときに使うべきかなどが曖昧だったりする場合が多く、表面だけ真似て批判する人も多いので、この本を買った。
予想通り、何故この様な設計に至ったのかが書かれていてよかった。
現代では言語仕様に組み込まれている場合もあり、意味のないデザインパターンも存在するが、考え方を学ぶには良さそうです。
設計の話を巻き起こした原点とも言えるので一読の価値あり。
 
   
人気 15位
本書の内容
即戦力の知識を上下巻1000ページ超のボリュームで集大成!

Webアプリケーションの定番言語であるPHPの基礎から実践までを、上下巻のフルボリュームで集大成。

「この目的を実現するためには、どの文法テクニックが適合しやすいだろう」?
「このプログラムをより読みやすくするために、どんなアプローチができるだろう」?

といったことを思考しつつ、「とりあえずは動く」だけで終わらない、現場に求められる品質を形にするための知識とテクニックを解説します。  
内容サンプル
 
User Voice
ものすごいボリュームに気圧されますが、そのぶん最初に全体像を把握するにはうってつけ。ここからさらに深く、広く知識を得ていくのがおすすめです。
上巻は程度の低いサンプル、中途半端な解説といった印象でしたが、下巻は更に酷いと感じました。
この書籍で、いくら学んでも実務レベルにはなれません。

これからPHPを学ばれる方は、ほかの学習ソースを探しましょう。
 
   
人気 16位
本書の内容

This landmark book provides a thorough overview of the Unified Process for software development, with a practical focus on modeling using the Unified Modeling Language. The Unified Process goes beyond mere object-oriented analysis and design to spell out a proven family of techniques that supports the complete software development life cycle. The result is a component-based process that is use-case driven, architecture-centric, iterative, and incremental. The Unified Process takes full advantage of the industry-standard Unified Modeling Language. This book demonstrates how the notation and process complement one another, using UML models to illustrate the new process in action. The authors clearly describe the semantics and notation of the different higher-level constructs used in the models. Constructs such as use cases, actors, subsystems, classes, interfaces, active classes, processes, threads, nodes, and most relations are described in the context of a model. Object technology practitioners and software engineers familiar with the authors' past work will appreciate The Unified Software Development Process as a useful means of learning the current best practices in software development.

 
内容サンプル
 
User Voice
UML登場後に出版された方法論に関する本の中で、最も気に入っている本です。繰り返し型の開発や開発手順(開発ワークフロー)に関して非常に詳しい説明が展開されています。UMLと併用する方法論を学んだり、あるいは実践する際に参照する本としてベストだと思います。本の分量は多いですが、説明はとても丁寧かつ平易。UMLを知らずに読み進めるのは厳しいと思いますが、UMLの入門書を終えた後なら読み進めることはできるでしょう。本書に書かれている情報量は膨大で、しかも読者(開発者)が適宜必要な部分を吸収、活用することを前提に書かれているので、すべてを学習/実践しようと考えるのではなく、大局的に本書を見ながら必要な部分を選択することが必要です。
第4章アーキテクチャ中心プロセス、第5章反復的でインク裏面たるなプロセス
は、自分が仕事でやっていることに近いことが書いてあるので親近感がもてます。

ちまたのプロセス定義は、抽象的すぎるか、実際にはやっていないことが書かれていて、違和感があります。

本書に記述がないことで普段やっていることは、分析に状態遷移図と、時系列(シーケンス)図を使っている点です。
オブジェクト指向開発方法論の中では比較的完成度の高い統一プロセス(unified process)について解説されています。この方法論自体はカスタマイズして利用することを前提にしているので巨大であり、登場するワーカーも日本の読者に想像しにくいものもありますが社内でオブジェクト指向開発の開発標準などを策定する方にはバイブルだと言えます。XPを検討されている方も対極にある統一プロセスを知っておくためにこれを読むことをオススメします。章立てが悪いのがちょっとマイナスです。
 
   
人気 17位
本書の内容
【累計7刷りのロングセラー】
時代を超越したプログラミングの基本原則


本書はロバート・C・マーチン(愛称、ボブおじさん)が世に送り出した
『Agile Software Development』の邦訳書(Java版)です。
本書は優れたIT系書籍に送られる「Jolt Award」を受賞し、
発売以来いまだにアメリカのAmazonでもトップセールを続けている
「アジャイルソフォトウェア開発」の不屈の名作であり、バイブルです。

もはやソフトウェア開発業界で「アジャイル開発」という言葉を知らない人はいないでしょう。
著者は、アジャイル開発の歴史的な出発点となる
「アジャイルソフトウェア開発宣言」の生みの親の一人であり、
さまざまな国際会議やドレードショーなどでレギュラースピーカーを務める
「アジャイルソフトウェア開発」の大御所です。
『Clean Coder プロフェッショナルプログラマへの道』
『Clean Code アジャイルソフトウェア達人の技』
などの著者としても知られている、一級の教育者でもあります。

アジャイルソフトウェア開発は、めまぐるしく変化する仕様要求にさらされながらも、
迅速にソフトウェアを開発する能力をあたえてくれます。
こうしたアジャイル性(俊敏性)を達成するためには、
規律とフィードバクを与えてくれるプラクティス(実践法)が必要です。
また、柔軟性と保守性を兼ね備えた設計をするための基本原則や、
特定の問題にこういった原則をバランス良く利用するためのデザインパターンを理解している必要があります。

本書は、上記3つのコンセプトをすべて縫い合わせ、
一つにまとめるという前人未到の究極の試みを見事にやってのけています。
この美しく織り成された世界観には感動すら覚えます。
これは、自らの経験をもって著者が到達した1つの究極の境地、「奥義」だといえるでしょう。
「アジャイルソフトウェア開発」の創始者直伝の本書を手にした読者の方は、
師匠から奥義を授かり、巨人の肩に乗りその一歩先に進むことができるはずです。
 
内容サンプル
 
User Voice
ある程度、ソフトウェア開発を行っている方は、ぺらぺらとめくって見て下さい。見るページ全てが示唆に富んでおり、とても歯ごたえがあります。ページ数も半端ないので、全てを理解して読み終えるのにはかなりの時間がかかりますが、それに見合うだけの知識が得られます。

但し、丁寧に書かれてはいますが、やや読みにくい文体です。実際に目の前にすると、その分量に圧倒されます。
私はC#をメインでやってますが、Javaのコーディング例でも十分理解できます。また、原則やプラクティスのほとんどは、そのままC#でも通用します。

現在のプログラミング環境は、言語が何かというレベルを超えて、使用するフレームワークに強く依存する事が多い(ASP.NET MVCやGlassFishなど)ため、そういう点では具体例に乏しいと感じる可能性はあります。そうであったとしても、この本に示されている内容は知っておくべきでしょう。
わりかし古い本ではありますが、今でも流しで読むことはあります。
開発者ならご存知だとは思いますが、実際の現場では厳格なオブジェクト指向で書かれたコードはほとんど存在しないです。それは時間やお金の面だったり、そもそもOOPとシステムの相性が悪いなど、仕方のないことです。

ただ知っているけどあえてやらないと、知らなくてやらないは意味が全く違います。
ふとした時に、そういえばここら辺のコード整理できそうだけど、どんなパターンがあったっけ?という時に私は辞書を引くような感覚で今でもたまに使っています。
まだ読み始めたばかりですが、すごくためになります。第2部は読んでいて面白いと思えます。ただ一つの難点は、内容とは関係ないのですが、表紙を動かすと「キュッキュッ」という、私にとっては生理的に耐えられない音がします。これは苦痛です。そのため星4つとしました。内容とは関係ありません。

「追記」
表紙に張り付いている紙をはがしたら音は出なくなったので5としました。
 
   
人気 18位
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。
 
内容サンプル
 
User Voice
あなたは以下のような謳い文句をどこかで聞いたことがありますか?

・オブジェクトとはデータと振る舞いを持った「もの」である

・カプセル化とはデータを隠蔽することである

・オブジェクト指向言語では継承を使用することによって再利用が促進される(差分プログラミング)

・オブジェクトとは現実世界における実体であるため、名詞と動詞を抽出することで適切なクラス設計を行うことができる

この本は本来あるべきオブジェクト指向設計においてはこれらが適切ではないということをデザインパターンを使って解説しています。

この本を以下の方に薦めます。

・デザインパターン本(GoF本を含む)を読んだがいまいち理解できなかった方(オブジェクト指向初級者)

この本はデザインパターンの解説だけではなく、その元となっているオブジェクト指向原則についても説明しています。そのため他のデザインパターン本よりも有益でありかつ理解しやすいものとなっています。

・オブジェクト指向はある程度理解していると考えている方(オブジェクト指向中級者)

オブジェクト指向原則やデザインパターンに対する知識の整理が可能となります。「それについては知っていた」という箇所が出てきた場合には自分を褒めましょう。(この逆は、「もしかしたら自分はオブジェクト指向初級者だったのかもしれない。」です。)

また、この本が他のデザインパターン本よりも理解しやすいのは以下の理由もあると思います。

・著者がデザインパターン講義を行っている講師である

理解するのが困難な箇所について何度も解説を行った経験があり、そのためその解説が洗練されている。

・翻訳がすばらしい

村上雅章さんの翻訳は本当にすばらしいです。

オブジェクト指向及びデザインパターンについて書かれた本を今までに多く読んできましたが、この本が一番分かりやすく有益であると思いました。
題名は少し原作と変わったが、デザインパターンについての解説書。

著者が過去に携わった業務における、著者の誤った設計を示し、
デザインパターンについて説明しながら、それを用いて
現在最善と思われる解決策を深い考察とともに説明している。
それでいて、理解しやすくオブジェクト指向の原則を説明しながら
しっかり各パターンについて説明している。

これは、よくある『わかりやすい、、、』『はじめての、、、』
のような誰でも書けそうな上から目線の書籍とは全く違う。
一流の設計者が自分の経験を基に最善の設計についての追求を
続けた過程が述べられており、より技術者好みの深い考察が多い。
(必然的に、リファレンスとしての用途では使えない。)

著者はおそらく、自分の過去の仕事に対する検討や反省を続けていた
のだろうという印象を受けた。このような書籍を多く読むことで、
設計に対する自分なりの哲学を身に着けることができるだろう。

特に秀逸だと思ったのは、Bridgeパターンの説明である。
今までピンとくる解説がなく曖昧に覚えていたものが、すっきりと
理解できた。他の方に説明するときは、この本の例を使うことにしている。
プロとして設計に携わっているならば必読だと思う。
この本の内容は結構難しい。
オブジェクト指向プログラミングにある程度慣れており、詳細設計にも関わったことがないと厳しいかも。
「文法が書けるようになった → 次はデザインパターン」といった意図で読むのは、かなり厳しいと思う。

この本はデザインパターンがなぜ優れているかについて論じているため、
理論レベルの理解が必要になり、必然的に概念的な内容になっている。
(具体的すぎる内容では、浅い理解に繋がるかもしれないから仕方ないが)

対象者としては、動作させることができるプログラムを書く事ができるが、
色々な面を考慮したより良いプログラムを書けるようになりたい人。・・・とかかな。

注意点としては、
これは翻訳書なので、言い回しが何か違和感がある。読みにくいと思う。

しかし、内容としてはプログラミングの本質を突く(当然言語関係なく)、
非常に良いできだと思うので、積極的に人に勧めたい一冊。
 
   
人気 19位
本書の内容
オブジェクト指向は、現代のソフトウェア開発には欠かすことのできない技術要素となっています。オブジェクト指向分析、オブジェクト指向プログラミング、オブジェクト指向データなど、オブジェクト指向を元にした技術にはさまざまなものがあります。しかし、それらはすべて基本的な要素や概念を共有しており、ひとつの基礎から成り立っています。オブジェクト指向に通底する考え方を理解しておくことは、それぞれの技術の使いこなしには欠かすことができません。
本書では、プログラミングを軸に、オブジェクト指向のさまざまな概念を学んでいきます。基礎的な概念であるクラスやオブジェクトを学び、それらがどのような方法でシステムを抽象化し、開発やメンテナンスを効率化するかを示します。プログラミング言語を学んだだけではオブジェクト指向を活かすことはできませんが、こうした思考法を身につけていくことで、次第に依存性の少ない見通しの良いシステムの設計/開発が可能となっていきます。
本書では、1~9章でオブジェクト指向のさまざまな要素を解説していきます、各要素の概念を説明するとともに、クラスをどのように設計すべきなのか、難しいとされる「継承」をどのように実現すべきなのか、さらにインタフェースや抽象クラスなどの利用についても充実した解説を行います。また、後半の10~12章では、デザインパターンの利用、依存関係の制御、設計の原則であるSOLIDなど、よりプロジェクト的な観点からの知識を身につけることができます。
本書はオブジェクト指向開発の揺籃期から、その概念を学ぶための優れた指南書となってきました。第5版ではWebを前提としたシステムやモバイルデバイスなどの要素も取り込んで、現代の開発のさまざまな局面でオブジェクト指向を活かせるようになっています。
オブジェクト指向のエッセンスを正しく理解して、システム開発を効率化し、一歩進んだ開発者となるための有用な知識をまとめた一冊です。
 
内容サンプル
 
User Voice
内容は悪くないのに誤字脱字が多すぎる。
商業出版の本ではなかなかお目にかかれないほどの多さ。

誤字脱字はストレスにはなるが読めなくはないし、解説の内容自体はわかりやすいので「オブジェクト指向の言語触ってみたけどオブジェクト指向っぽく書けない。概念がよくわからない。」みたいな人には良いかもしれない。

例示されるコードがJavaなのでJavaの基礎ぐらい押さえとくと理解がしやすそう。
途中まで読み進めていますが、あまりにも誤字脱字が多く読む気が失せます。
内容は第3章までは平易であり、後半の章も流し読みしましたが、難解な内容ではありません。
 
   
人気 20位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 21位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 22位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 23位
本書の内容
(概要)
Software Designで過去に掲載された「オブジェクト指向」に関する特集記事をまとめたムック本です。オブジェクト指向について,基礎的な知識を教える入門記事,考え方を理解するための読み物記事,サンプルコード(Java・JavaScript・PHP・Perl)を使った解説記事のほか,「アジャイル」「MVC」といった関連分野の記事も収録しています。さらに第0章には,増田亨氏による書き下ろし記事『最近の「オブジェクト指向」事情』も掲載。これからオブジェクト指向を学ぶための入門書として,また苦手克服の1冊としてぜひご活用ください。

(こんな方におすすめ)
・オブジェクト指向を新たに学びたい新人エンジニアさん
・オブジェクト指向に苦手意識を持つ若手エンジニアさん

(目次)
第0章
最近の「オブジェクト指向」事情 ――いかにして学び,現場に広めるか

第1章
わかった人だけメキメキ上達 ちゃんとオブジェクト指向できていますか?

1-1 オブジェクト指向の学び方,教え方
1-2 組み込みからクラウドまで,オブジェクト指向は隅々と!
1-3 JavaScriptでオブジェクト指向
1-4 PHPでオブジェクト指向
1-5 Perlによるオブジェクト指向入門
1-6 オブジェクト指向の基本を学ぶ

第2章
――克服したい大きな壁 オブジェクト指向――習得のヒントと実践

2-1 Javaでオブジェクト指向を知るための3つの基礎練習
2-2 急がず・慌てず自然なぺースでオブジェクト指向を学ぼう!
2-3 社会慣習としてのオブジェクト指向プログラミング
2-4 組込エンジニアのためのオブジェクト指向
2-5 Android開発でオブジェクト指向プログラミングするとは
2-6 オブジェクト指向はまぼろしか?
2-7 SmallTalkこそオブジェクト指向の克服の手がかり

第3章
特講 オブジェクト指向――苦手克服のベストプラクティス

オブジェクト指向の実践的な考え方とやり方

第4章
ソフトウェア開発はセンバー・ファルシシムス!――もしも,新卒女子SEが『アジャイル』をマスターしたら

4-1 最初の最初――if i should fall from grace with god
4-2 始まり――アジャイルの寓話。いつか,どこかの街で
4-3 アジャイルとは何か?――アストロ球団とアフリカ
4-4 プロジェクトの準備をしよう
4-5 そろそろ最初のイテレーション
4-6 大規模へと続く道(メトリクス管理)
4-7 おしまいの話

第5章
オブジェクト指向再入門――ソフトウェア開発に効くSmall Objectをご存じですか?

第6章
なぜMVCモデルは誤解されるのか?――本質を押さえて見通しのよいシステム作り  
内容サンプル
 
User Voice
オブジェクト指向の知識を深める手がかりの一つとして有用な内容と感じました。
ただ、仕事がオブジェクト指向と無縁なら知らない方が良いかもしれません。
今の仕事に迷いが出るかもしれないので。書籍としては良いものです。
## 概要
オブジェクト指向というテーマに沿って,複数の執筆者によるオブジェクト指向の学び方や考え方などがざっくばらんに書いてある。

もともと,Software Designのこういう複数の執筆者によるムックは自分は好まない。記事が細切れになり,内容が浅くなるからだ。しかも,執筆者によって文体や捉え方も違うのため,戸惑う。ある意味,複数の著者の考えをまとめて知れてよいという面もあるかもしれないが,自分には合わなかった。

一番印象に残っているのは,「1-1 オブジェクト指向の基本を学ぶ」の節だ。

オブジェクト指向によるコーディングの考え方,手順,クラスの設計などが順序立てて解説されていてよかった。ただ,これは既にわかっている人だからできるのであって,こういう考え方,組み方をどうやったら身につけらるのかというのが知りたい。

## 参考
> p. 017: if文とfor文を減らす | 1-1 オブジェクト指向の基本を学ぶ
>
> 条件文をif文を使わずに書くスキル、一見ループが必要な処理もfor文を使わない書き方を覚えること。それがプログラミングの力をつけることなんです。

たしかにこれはいえるかもしれない。

> p. 020: 参考書 | 1-1 オブジェクト指向の基本を学ぶ
>
> 『実践パターン』(ケント・ベック著、ピアソンエデュケーション)も良い本です。クラスやメソッドに、なぜ、どういう名前を付けるべきかのガイドラインがたくさん書かれています。
>
> オブジェクト指向設計を学ぶには『ドメイン駆動設計』(エリック・エバンス著、翔泳社)がすばらしい名著です。難解と言われるこの本を読み解くには『オブジェクトデザイン』(レベッカ・ワークスブラック著、翔泳社)と『実践UML 第3版』(クレーグ・ラーマン著、ピアソンエデュケーション)を読んでおくと良いでしょう。

機会があれば読んでみようと思う。

## 結論
Software Designの本だけあって,内容が中途半端なので自分には合わなかった。

オブジェクト指向を学ぶ上での名著を知れたので,次はこれらにあたってみたいと思う。

パーマリンク: <https://senooken.jp/blog/2018/10/24>
 
   
人気 24位
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

jQueryのその先へ。
サンプルをつくりながら学ぶ制作現場の実装スキル

JavaScriptの基本書は数多く存在しますが、実際の開発で、どうコードに落とし込めばいいかとなると、とたんに「壁」を感じる人がたくさんいます。本書は、そんな人たちが、これだけ学べば「壁」が越えられるという5つ(❶オブジェクト指向の考え方、❷UI・インタラクティブ表現としてのイベント、❸Canvas APIによるグラフィック表現、❹Ajaxを利用したAPI連携とデータ検索、❺シングルページアプリケーションの実装)を集中的に学んでいく学習書です。それぞれ読んで理解できる「基本」と、具体的なコードを書きながら学べる「実践」とのセットになっているので、現場で使えるスキルが効率よく身につきます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
著者が前書きでも書いていたとおり
本書はまったくの初心者を対象には書かれていないようで
if文やfor文、変数の書き方といった基礎的な部分の説明はなく
いきなりクロージャやオブザーバーの説明から入るので
ある程度基礎は固めた状態で始めるのが良いかと思います。

各チャプターごとにサンプルを作成しながら学んでいく形式ですが
サンプルのHTML、CSS、JS、画像が予め用意されていたので
JS以外は用意された物を使用して、JSだけに集中して実装に取り組む
という使い方が出来たのは良かったです。

個人的に嬉しかったのは、
フォームのバリデーション、モーダルウィンドウ、Ajaxでデータを取得してHTMLに落とし込む方法など
扱っている題材がかなり実用的だった事で、
特にバリデーションに関しては、近々担当する案件で必要になりそうだったので早速参考にさせてもらいました。

不満な点としては、
他の方も書いていましたが、ライブラリの話が少なかった点で
現場でよく使われるライブラリやその使い方などの情報がもっと欲しかったです。
もう一点は、
サンプルが盛りだくさんなのは嬉しい事ですが、その分各サンプルにかける解説が少しすくなく感じたので
サンプルを一つ二つ削って、なぜそのような書き方になるのかといったような一歩踏み込んだ解説があるとよかったです。

色々と書きましたが、
ある程度Javascriptの基礎は学び、次にどのような事を学べば良いかと迷っている方には
間違いなくオススメできる一冊だと思いました。
キャッチコピーに反し、jQueryをベースにコンポーネント志向でアプリケーションを作るための参考書です。
コンポーネント単位でクラス志向(のような感覚で)フロントエンドを開発する考えが身に付く本です。
jQueryは分かるがオブジェクト志向は疑問...や、
JavaやPHPでオブジェクト志向は慣れているけどJavaScriptはスパゲッティになってしまう...等のような方には、
jQueryで構造化されたコードを学ぶ機会が得られるので、すごくお勧めです。

最近はReactやVueのようなフレームワークが流行っていますが、もし闇雲にこれらを初めて苦戦しているなら
易しいjQueryでコンポーネント志向のコードを知る意味でこの本は絶対に経験した方が良いですし、
jQueryやReact等関係なくツールに限らない必携知識が得られます。

なお、
・一部高階関数のトリッキーな書き方をしている
・JavaScriptのクラス記法でなくES5記法
・この本にあるUnderscore.jsのライブラリはネイティブJSで代替できる
といった注意事項はありますが、JavaScriptは絶えず変化を続けている言語であり、
これらは自分の中で消化できるレベルでないと最低限この本を買う段階ではないと思います。
中身は濃かった。

PHPよりムツカシイ・・・フロントさんも大変だ。

初版より2年経ったし、第二弾だしてほしいな。
 
   
人気 25位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 26位
本書の内容
原理原則から分析設計へ!!オブジェクト指向のすべてがこの中
にある!!

本書の第1版は1990年にアスキーより『オブジェクト指向入門』として翻訳出版
され、大ベストセラーになりました。現在でもソフトウェア開発に携わる人々に
は欠かす事のできない必読書として多くの支持を得ています。今回の第2版も翻
訳出版を切望する声が多く、また関係者からもこの分野の定番書として認知され
ています。

第2版は、第1版の約3倍、1900ページ以上のボリュームで、「原則・コンセプ
ト」と「方法論・実践」の2分冊(1分冊約960ページ)になりました。本書は上
巻に該当する「原則・コンセプト」編です。

第1版と比べて大きく変わったのがソフトウェア開発の上流工程への踏み込みで
す。第1版はオブジェクト指向分析の原理原則への深い議論が中心でしたが、本
書は、その原理原則の上に分析設計を進めていくための視点が織り込まれていま
す。本書の根幹をなす原理原則の1つが「契約による設計(Design by
Contract)」の概念です。この概念はソフトウェア開発のライフサイクルを通し
て非常に重要かつ有用です。

下巻の「方法論・実践」編では、モデリングのための視点、分析設計の原則を丁
寧に解説しています。また、数多くのデザインパターンや実装技法、希少な存在
である手法上の詳細な探求、継承をうまく使うためにはどのようにしたらよいの
か、そのほかにもオブジェクト指向方法論、オブジェクト指向分析に関する話題
に多く触れられ、オブジェクト指向開発環境に関しての記述が豊富です。

 
内容サンプル
 
User Voice
本書は、抽象データ型に対応したEffelという言語に基づいた入門書です。
Effelという言語は、.NETに対応した版もあったので、評価版をダウンロードして確かめてみるのもいいかもしれません。
本書は、SRAにいた酒包さんが翻訳された良書で、入門と書いているように、オブジェクト指向を叫ぶ人の必読書だと思われます。
「このように構成の巧みなソフトウェアシステムは この世界のある側面を映し出す実践的モデルと見ることが出来る。、、、
ソフトウェアの設計を実践的モデルの作成と考えると、オブジェクト指向設計は実に自然なアプローチであることがわかる。」

オブジェクト指向を実装において説明するのはオブジェクト指向ではなく、実装指向だと思われます。
実装担当の人には、オブジェクト指向をどう実装するとよいかを話す必要はあると思います。
実装はオブジェクト指向の設計の考え方を明確にしながらのことで、実装だけを見ていると、方向性を間違うことがあるかもしれません。

ps.
オブジェクト指向で、日本で定評のある識者はSRAに移籍された青木淳さんかもしれません。
SmallTalkの本も併せて読むとよいかもしれません。
また、Squeakも参照するとよいと思います。
PGには、私のように、実装からオブジェクト指向の何たるかを学んでいった人も多いはずだ。
実装から学ぶとよい面もあるものの、得意な言語や、
好きな分野の実装のパターンから、偏見も持ってしまう。
JAVAがアランケイからオブジェクト指向言語として
疑問符を突きつけられたり、
RUBYなどの後発オブジェクト指向言語が出てきたり、
また、オブジェクト指向開発、という言葉もあらわれて、
オブジェクト指向って、じゃあ何?と思った人は、私だけではないだろう。
改訂前のこの本に目を通していたが、そのときは大して面白さを感じなかった。
何をもってオブジェクト指向と呼ぶのか怪しい気持ちでいたとき、
私はもう一度メイヤーの本を読んでみようと、この本を読み、
以前は全く感じなかった面白さを感じ、内容に納得した。
というわけで、標題のとおり。
オブジェクト指向で迷ったら、この本、と言える、文句無しの名著。
シンプルにオブジェクト指向が理解できるはず。
ただ、多くの人の言うとおり、入門書になり得るかどうかは、難しいところだと思う。
ちょっと高価だけど....下巻が出たら、買う!(かな?)
書名に「入門」とあるが、そこらに転がっている安易な入門書ではなく、オブジェクト指向的な定義・考え方・技法がみっちりと詰まっている。

翻訳された後の文章も読みやすく、内容がきっちりとしているのは、翻訳者の方が一流の技術者でもあり、本書に対しての思い入れも強いからなのだろう。

これは洋書翻訳の半分にあたるのだか、分冊しなければならない程のページ数でオブジェクト指向の各要素について記述がなされている。

オブジェクト指向技術を使用している技術者であれば、一度はきちんと読んでおきたい本である。
 
   
人気 27位
本書の内容
「Javaを習い始めたけれど、オブジェクト指向プログラミングの良さがよくわからない」と思っている人は意外に多いのではないでしょうか? 本書は、Javaの実際のプログラミング過程を追いながら、初心者がつまずきやすい部分を解説するとともに、学習シートを使って視覚的に「オブジェクト指向の考え方」を丁寧にやさしく解説します。視覚的にオブジェクト指向が学べる学習シート、サンプルプログラムのダウンロードサービス付き。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
本書の冒頭で断っているように、本当にJavaの右も左もわからない人がこれを読んで一からJava習得するのは無理だと思います。Javaの基礎のきくらいはかじっておく必要があります。

ですが、「Javaの勉強を始めたけどついていけない、よくわからない」という人には最適の本です。ただ機械的に記述の仕方を暗記させてつめこむだけの教材ではなく、この記述がどういう意味なのか、どういう理屈で動くのか、かなり易しく詳しく解説されています。
学習シートもついており、実際に記述できるのも親切だと思います。

欠点と言えば、何度も耳にタコができるくらい同じことを繰り返し述べていて、なかなか話が先に進みまないことです。非常にゆっくりなペースで解説が進んでいきます。同じことが3,4回述べられていたりするので、そういう説明の重複がなければ、ページ数は半分くらいになった気がします。

ですが、そういう欠点はあるものの、Javaの考え方が理解できない(私のような)人にはやはり助けになりました。
もっとも、これでJavaの実用的なスキルが身につくようになるわけではありません。Javaの世界観やコンセプトを理解するための本、というところです。Java講座を受けても、ただひたすら暗記して記述して実行して…の繰り返しだったのですが、これで「Javaとは何か」「Javaはなんのためにあるのか」という原点に立ち返って理解を深めることができました。
・入門書を読んで文法を理解し一応プログラムを書ける人を対象としている。類書の無い労作(良書)といえる。
 内容は、オブジェクト指向の解説であり、Javaプログラミングに挫折した人や必要性に疑問を抱いている人、オブジェクト指向の適性を発揮する手法・考え方を求めている人が対象である。
この本を読んで勉強意欲が上がるか下がるか難しいところ。

・説明は丁寧だが説明の対象が難しいという言い訳がいたるところに出てきてうんざりする。
 第一版の正誤表(このサイト)を見ると、誤記入の訂正に終始している。
 繰り返し読むことを要請しているが、読者から寄せられた質問を吟味して文章を練り直すべきと思う。

・改めるべき表現の例
P133 下2,3 受け取るようにしたので→受け取るようにしたが、また
P136 コンストラクタとは…特別なメソッド→特別なメソッドであらかじめクラスに折り込んでおきます。
P139 初期値を入力していた行がすべてなくなったので→初期値を入力していた行が短くnew()の引数としてまとめられたので、
P180 スーパークラスのメソッドが上書きされる→スーパークラスから受けついたメソッドが上書きされる。
P252 継承は一回につき一つのクラスしか出来ない→継承は一回につき一つのクラスのみ出来るように

・本書の基本的考えの疑問
「人間の視点で考える」だけでは不十分。
複数モジュールの共同作業
目的に適合するモデル構築で最大の効果
オブジェクト間のメッセージは、インスタント内要素の呼出し、置換、戻り値の活用などによる。
 目的達成のために形式の厳密な遵守などわずらわしく、わかり難くオブジェクト指向がいつもよいとは限らない。
還暦を過ぎてから昔取ったきねずかでプログラミングを再開しました。
構造化プログラミングとC言語まではやっていたのですが、”オブジェクト指向プログラミング”は初めてです。
クラスの概念を設計図と比喩したまではこちらも分かったのですが続きがいけません。
比較的やさしく表現しているので難しいことはないのですが途中で落ちこぼれそうです。
プログラムの構文は“C”言語をやっているので簡単にJAVAの構文に入ったのですが、オブジェクト指向のところでつまずきます。でも読み直したら納得、オブジェクト指向が何たるかが分かりました。
時間もあることだしゆっくり続けようと思います。
オブジェクト指向の言葉に迷っている方にはお勧めです。
 
   
人気 28位
本書の内容
本書は2011年4月7日に第2版(978-4-8222-8465-7)を発行しました。
 オブジェクト指向によるソフトウエア開発の入門書。
モデリングや開発プロセスにも言及し、オブジェクト指向開発に関する一通りの知識を得られる。
前半は、プログラミング言語の歴史をひも解きながら、オブジェクト指向に関心が集まる理由や
メリットを解説。後半は、プログラムの再利用やUMLなどの周辺技術を解説する。
ソフトウエアの動作原理にも触れる。専門用語が少ないため初心者でも読みやすい。
 
内容サンプル
 
User Voice
オブジェクト指向の使い道がいまいち解らずこの本をココで購入しました。
本が届いた時にはチョットがっくりしました。と言うのもプログラミング関係で「この手の(読み物)タイプの本を読んで良かった」と思ったことが無かったからです。Java、C、DB、TCP/IP等。
まあ、そんな感じで大して期待してなかったのですが、内容は最高でした。読み始めると止まりません。
プログラミングをしていて、どうしてもまとめたい、図式化したい、簡素化したい等の思いが沸いてくるのですが、いまいちうまくいきませんでした。この本を読めばその指針が解ってくると思います。
難しいことを難しく書くことは簡単です。
難しいことを簡単に書いてくれる良いお手本だと思います。
まあ、あくまでオブジェクト指向がいまいち解らないと言うレベルですが・・・。
なんとなくOOPは分かっているような気になっていたのですが、次のプロジェクトで必要不可欠な知識になるので、確認の意味でこの本を読みました。
2版もでているのですが、基本的な事は同じだろうと中古本で購入しました。
とにかく、分かっていたような気になっていたことがらが、やはり「なんとなく」であった事が再認識でき、勉強になりました。
実践に入る前に読んで良かったです。
これからUMLを使う方、また設計をしていく人にはおすすめだと思います。
この本の素晴らしいところは、そのわかりやすさでしょう。
プログラミングの観点、UMLの観点、開発プロセスの観点など
なぜオブジェクト指向が必要とされているのかを様々な視点から
解説しています。
難しい言葉も出てこないため、オブジェクト指向初心者の私には
とてもありがたい存在でした。

オブジェクト指向入門書には良い本だと思います。
 
   
人気 29位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 30位
本書の内容
本書は、オブジェクト指向の第一人者バートランド・メイヤー著"Object-Oriented Software Construction 2/E"の邦訳の後半部分です(前半部分は『オブジェクト指向入門 第2版 原則・コンセプト』として弊社より刊行)。現実プロジェクトの実践と成功に必要な方法論を解説しています。
本書は、モデリングのための視点、分析設計の原則を丁寧に解説しています。また、数多くのデザインパターンや実装技法、希少な存在である手法上の詳細な探求、継承をうまく使うためにはどのようにしたらよいのか、そのほかにもオブジェクト指向方法論、オブジェクト指向分析に関する話題に多く触れられ、オブジェクト指向環境に関しての記述が豊富です。ソフトウェア開発技術者には必須書となります。

【原題】Object-Oriented Software Construction 2/E  
内容サンプル
 
User Voice
(下巻もやはり買ってしまった。)
目次を眺めると、クラスの抽出方法や、オブジェクト指向の教育方法など、
思わず引き込まれる魅力的なセンテンスが並んでいる。

期待を裏切らないというのは、「やっぱりね」という意味で、
やはりそこに銀の弾丸は無い。
しかし、これだけのボリュームで、
オブジェクト指向技術に対する首尾一貫したアプローチを保った
(つまり、エッフェルの理念のという)
詳細な論文は、他には有り得ず、これからも出ないだろうと思う。

まだ理解不能なところも多々あるが、
メイヤーの悪ふざけも含めて、長い時間をかけて「楽しめる」本である。
そもそも、「入門」というのは悪ふざけではないかと思うのだが、どうなのだろうか?

メイヤーのSmalltalk評を、ケイが読んだらなんと言うのか訊いてみたい。
Javaの評価が思いのほか高いと思った。

内容的には多少古い点があるかと思うが、
普遍的であるという点で、最高の評価をつける。
オブジェクト指向開発の手法であるメイヤー法(別名OOSC法、旧名Eiffel法)です。一応、辞書読みしてます。何度か開く機会があり、回答をいただきました。他手法に対しても、長所短所を記載しています。
フランスの大学教授が数十年間分析してまとめた本である。深すぎて理解不能である。
良かったが、原則・コンセプト編ほどではなかった。まず、原則・コンセプトを完全に理解したい。
 
   
人気 31位
本書の内容
本書は、JavaやC#を知っている読者を対象に、オブジェクト指向の基礎と応用を解説するものです。
再利用ができ、堅牢で、拡張可能な本格的オブジェクト指向ソフトウェアを分析し、設計し、書くことができるようになることを本書の目標としています。
柔軟なアプリケーションを作るためにカプセル化や委譲など、オブジェクト指向の原則を取り入れます。
またコードの再利用を促すための開放閉鎖原則(OCP)や単一責任原則(SRP)適用について解説します。
オブジェクト指向の原則、デザインパターン、さまざまな開発手法を、オブジェクト指向分析設計プロジェクトのライフサイクルに適合させる方法も学びます。

複雑な概念を脳に記憶させるため、図やイラスト、また登場人物に物語を持たせるなどさまざまな工夫を施した本書は、最短の時間で最大の効果をあげることができます。  
内容サンプル
 
User Voice
本書はオブジェクト指向分析設計手法の入門書です。
これまでオブジェクト指向のメリットにあやかりたいと他の名著を読んでみましたが、明日の仕事に役立つ知識はなかなか得られませんでした。
本書を読んでようやく「どう組み合わせて役立てれば良いか」が理解できました。

一般的に知識は手を動かさないとなかなか習得できません。本書はその点に注目し少しずつ段階的に知識を身につけることができます。
eclipse等のJAVA開発環境を準備して実際にコードを書きながら読み進めて下さい。C#ができる人も問題無いと思います。
ユースケースやUMLが実際にどのように役に立つか悩んでいる方にもお勧めします。

本書は基本的に3つのステップで進行します。ソフトウェアが良い方向に成長していく姿は作っていて楽しいものでした。
1.顧客の要望を満たす最低限のソフトウェアを作成する。
2.オブジェクト指向の原則を利用して柔軟性を高める。
3.保守と再利用が可能で変更に強いソフトウェアを作成する。

本家HPでは内容の大部分が公開されています。英語が得意な方は参考にして下さい。
[...]

網羅的で詳細な名著は沢山ありますが、手を動かして習得でき、すぐに知識が使えるようになれる本はあまり見かけません。
「これまで本を読んできたけれど今ひとつ手ごたえを感じていない方」には特にお勧めです。
ソフトウェアの要件定義と設計に関して、特にオブジェクト指向設計について悩んでいたので本書を読んでみた。この手の本は通常、取り上げられている例が一般的過ぎるか理想的過ぎて、即実務に使えるというものはなかなかないのだが、本書は例も具体的で、厚さの割にあっという間に読めてしまった。

要件(フィーチャ)のまとめ方、UML図、ユースケースといった設計段階で必要な技術・知識から、委譲、カプセル化、コンポジション、ポリモーフィズムといったオブジェクト指向の基礎、テスト、リスク分析といったソフトウェアに欠かせない事柄がよく理解できた。しかも、読者はJavaの基本的な知識さえあればOKというのも嬉しい。
海外のエンジニアから薦められて読みました。
こんなので有益な知識が得られるのか?と思いましたが、内容は真面目です。
自分は初学者ではありませんが、この本から得るものはそれなりにありました。
風変わりなレイアウト構成とは裏腹に、内容は最新のオブジェクト指向分析・設計の
スタンダードとなっているアプローチを忠実に説明しています。

この本の良い点は下記です。
・何度も言葉や視点を変えて説明するという方法が取られており、記憶に残ること
・難しい内容をわかりやすく簡潔に説明しており、気楽に読めること
・1ページ(か見開き)で説明することは1つだけというスタイルを貫いていること

リファレンスとしては使えず、1度読んだら本棚に眠ってしまうタイプですので、
コストパフォーマンスを考えて4点にしましたが、とてもわかりやすく内容も
すばらしいので、理解するために読むには最適です。
 
   
人気 32位
本書の内容
本書はJavaScriptが持つオブジェクト指向的な言語特性や、その特性を強力にサポートするECMAScript 5の機能を紹介し、
それらの特性や機能を活かすプログラミングの方法、考え方、パターンについて、深くそして簡潔に解説する書籍です。
本書を通じて、C++やJavaなど「クラスベースのオブジェクト指向言語」に慣れたプログラマは
JavaScript特有のクラスを持たないオブジェクト指向プログラミングの世界への知識を得ることができ、
JavaScriptプログラマはJavaScriptのオブジェクトに関する理解をさらに深めることができるでしょう。
JavaScriptのオブジェクトを自由自在に扱い、より効果的なプログラミングを行いたいすべてのプログラマ必携の一冊です。  
内容サンプル
 
User Voice
JavaScriptの解説書は数多くある。大抵の本は、前書きでは、JavaScriptがプロトタイプベースのオブジェクト指向言語だと説明しているにもかかわらず、本文では、クラスベースの言語をシミュレートする方法の説明に終始するものが多い。

GoFの「オブジェクト指向における再利用のためのデザインパターン」は良書だが、やや概念的なきらいがあり、実際のプログラミングに生かせない方もいるだろう。

本書では、プロトタイプベースでプログラミングする手法の解説がなされており、従来の解説書では歯がゆい思いをしていた方もいるかもしれないが、この点が解決されている。

さらに、本書との出会いは、C++などをメインに使うが上記「デザインパターン」で行き詰まっている人にとってこそ、必読と言えるかもしれない。

JavaScriptは、軽量言語としての側面が目立つが、思いの外深い。少なくとも、一面的なオブジェクト指向に対する理解に一石を投じる能力は、十分に持ち合わせている。

本書によって、オブジェクト指向という概念で実現できる高度な構造についての洞察が得られれば、越えられなかった壁を越えられるようになるだろう。
たくさんの資料や解説書が出回っているものの、
それらを合わせても、いまひとつ不明瞭な部分が残るJava Scriptだが、
本書はオブジェクト指向の観点から分かり易く解説してくれている。
習熟した人にとっても有益な情報や盲点が見つかるかもしれない。
ページ数も抑えられており、重要な部分は何度も読み直して理解を深められる。
 
   
人気 33位
本書の内容
Java言語の基本を学習した人やC言語を学んできた人を対象に、Javaのオブジェクト指向全般について詳しくわかりやすく解説した独習テキストです。「読めば必ずわかる」のコンセプトに沿って、コンピュータ初心者による理解テストを繰り返し「これならわかる」という内容を実現しました。本書は、好評の既刊『わかりやすいJava入門編』の続編として、オブジェクト指向について徹底解説。クラスに基づくオブジェクトの生成や参照から、クラスの継承、オブジェクト指向の仕組み、ライブラリクラスの使い方、正規表現による文字列操作など特殊な構文まで解説。練習問題も豊富に用意しているので、知識と技術がしっかり身に付きます。SJC-P試験に対応し、プログラミング入門者が独学でも理解できる平易な説明と十分な練習問題で構成されているため、学校の講義テキストとしても利用可能です。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
私はプログラミング初心者で入門編から入りました。
入門編はとてもわかりやすくスムーズにクリアできました。

しかしこのオブジェクト指向編はなかなか手ごわいです。
他の方も書いてますが、誤字、ミスが多いです。
ひとつの問題に1時間なやんだ結果、本のミスだったりします。
正誤表にのってない小さな誤字、ミスが初心者で本頼りの私には致命的な問題でした。
あと、今までの知識では解けない問題があり、解答のほうで新しいことを教えてくれるケースがあり、
「できるわけないじゃん・・・」ってこともあります。
初心者は内容を理解していても、本が間違っているとこや、知らない知識を使うできない問題で延々なやんだりします。
そのたびに心おれました笑
終盤にはすこし慣れましたけど。
これは本のミスだと見抜ける人や周りに教えてくれる人がいる人ならスラスラできると思いますが
初心者には根性がいる本だと思います。
正誤表には載っていない誤字が多く、全てで数十箇所はあった。
著者は本を出版する前に、人に読ませていると書いていたが本当なのか…?

致命的な誤字(プログラムが動かないなど)は正誤表でカバーできる。

初心者がいきなりこの本でjavaのオブジェクト指向を学ぼうとするのは難しい。
オブジェクト指向入門編という本が出ているようなので、そちらをお勧めします。
新装改訂版が出ていることから、今更新書を買う人はいないと思うので、コスパは良いです。
誤植は確かに多いので、著者のサポートページで正誤表を確認しながら読む必要があります。
内容はオブジェクト指向を行うために必要なJavaの文法を学ぶことができます。
 
   
人気 34位
本書の内容
はじめてJavaのオブジェクト指向を学ぶ人のために基本から丁寧に解説した独習書です。著者がオブジェクト指向の理解に苦しむたくさんの学生の悩みや傾向を分析し、入門者にとってわかりやすい内容で解説。姉妹書の「わかりやすいJava入門編」を読み終えた人を対象に、自分のペースで本を読み、通過テストで理解度を確認して着実にステップアップさせてゆける独学・自習に最適な一冊です。Androidやウェブ開発などの実用上、例外やクラスライブラリ、マルチスレッドは必須の分野です。これらも、オブジェクト指向の十分な理解によって、グッとわかりやすくなります。本書のあとに「わかりやすいJava オブジェクト指向編」を読むことで、さらに深く理解することができます。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
絶版本ですので、古書を購入しました。他の方のレビューでは指摘されていた、多少の誤字やコード印刷ミスですが、大抵は察しがつくものですので、私には苦痛には感じられませんでした。「新わかりやすいJava入門編」の続きという触れ込みですが、この「新わかりやすいJava入門編」を、別のアングルから立体的な切り口で復習しながら進んでいきます。私的には、「新わかりやすいJava入門編」よりもこちらの切り口の方が、「基本情報処理試験」には、より実践的にわかりやすく、力がつく感触を覚えました。絶版なのが残念です。活字版を再販してほしいと思います。
わかりやすいJava入門編から続いて購読し、先ほど読み終わりました。
本書はオブジェクト指向の入門編であり、for文や配列などある程度知識のあることを前提にしているので、プログラミングが全く初めての方はまずわかりやすいJava入門編を購入することをお勧めします。
また、インターネット環境があり本書の回答やeclipseをダウンロードし導入しないとしんどいと思います。

オブジェクト、コンストラクタ、カプセル化、抽象クラス、クラス継承、多態性、オーバーロード、オーバーライド、インターフェース、例外を投げるかわす、マルチスレッドなどについてくわしく説明されています。

前書より内容が多岐にわたり実践的で難しく感じました、なのでかならず例題を打ちながら読み進め、すぐには理解できない所も丸のみするようなつもりでなんとか乗り切りました。
説明は非常にわかりやすいのですが、
やはり継承や引数の入れ子が複雑でメソッドやプログラミング全体像を頭で把握することが難しかったです。(一番最後の通過テスト)

プログラミングの難しさはこういう所なのかなと感じました

また誤字が多く、ダウンロードするInputクラスで日本語入力すると文字化けするのは改善してほしいです
コメントも文字化けしています
プログラムを書かなくなってからだいぶ経っていたのですが、非常にわかりやすかったです
 
   
人気 35位
本書の内容
開発の考え方・コーディングの基本がスッキリわかる!
オブジェクト指向によるソフトウェア開発の考え方、設計について、スラスラ読める文とわかりやすい図版でスッキリと理解できます。
JavaのサンプルプログラムとUMLを使った解説で、体感的に理解できます。

Lesson 1 システムの開発
Lesson 2 オブジェクトとクラス
Lesson 3 関係
Lesson 4 継承
Lesson 5 委譲
Lesson 6 システムの表現
Lesson 7 機能の表現
Lesson 8 外観の表現
Lesson 9 補助的な表現
Lesson10 システムの拡張
Lesson11 抽象と具象
Lesson12 分析・設計・実装
 
内容サンプル
 
User Voice
オブジェクト指向は今まで見ないふりをして避けていました。必要がでてきたので、向かい合おうと思ったのですが今までの思想と違うためどうしても馴染めませんでした。この本はそんな人の為にわかり易く書いてあります。1度では完璧に理解できないので、何度も読んでバイブルにしようとおもう1冊です


気に入りました。
 
   
人気 36位
本書の内容
基礎となる技術的なレベルの問題を主体に取り上げ、ソフトウェア開発全般にわたる問題を実践的にわかりやすく解説したテキスト・参考書.  
内容サンプル
 
User Voice
 
   
人気 37位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 38位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 39位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 40位
本書の内容
最強の“秘術”ここに一挙公開!!組込みソフトウェア/自作OS開発/ゲームプログラミング/etc.に「これができれば!?」という潜在ニーズは計り知れないでしょう。実例と豊富なサンプルによる丁寧で詳しい解説により、脱入門プログラマからこの道十数年のベテランまで、C言語をさらに使いこなしたい人に最適の1冊です。  
内容サンプル
 
User Voice
Cは20年ほど使い込んでますが、C++は中途半端にしか知らない、そんな状況で、オブジェクト指向プログラミングをやる羽目に陥り、救いを求めて本書を読みました。

オブジェクト指向プログラミングがどう言ったものなのか、良く分かってないのでどこまで理解できたのかは定かではありませんが、とりあえずとっかかりは出来たと思います。また、著者の方がプログラミングという作業を様々な点から良く理解して書かれていると思えたので、安心して読むことも出来ました。個人的には、とても役に立ったと思いますし、今後も、時々参照しながら作業に当たろうかと思っています。

でも読んでよく理解したのは、最も大切なのはやはりシステムデザインであり、それは自らの頭を絞って考え出さなきゃいけないなぁ、ということと、オブジェクト指向プログラミングをやるのなら、やっぱオブジェクト指向用の言語を使った方が楽なんだな、ということ、そしてチームでプログラミングに当たるなら、コミュニケーションと教育はしっかりしなきゃね、という、全く持って当たり前のこと。どれも現状、中途半端にしかないものなので、これからの大変さを再認識させていただきました。まぁこれは、仕方ありません、、、orz

とにかく、当たり前のことを当たり前として書いてくれている、良書だと思いました。

久々に、最後まで読破して、また今後も参照するであろうhow to本として、評価は満点です。
あるレベル以上の方には分かりやすい内容だと思います。解説が丁寧なのが印象的です。
C言語のプログラムやライブラリの構成を考えるときに役立つ1冊です。C言語プログラミングの入門書でもないし、オブジェクト指向そのものを学ぶための本でもないと考えた方がよいでしょう。

あるサービスを提供する関数群を提供しようと考えたとき、処理対象のデータ構造とそれを操作する関数群によって構築しようと考える事ができる人には、その方法をまとめた本と考えればよいでしょう。たとえば、C言語を使っている人なら、FILE型構造体と標準入出力関数群を知っているでしょう。あのライブラリのような設計思想に基づく自前の関数群を作る方法を身につけることができるというわけです。

もし、みなさんが具体的な関数化の指針を持たないままに、グローバル変数に依存したり、多数のパラメータでデータを渡しているような関数を作成することを繰り返しているようでしたら、この本によって系統だったライブラリの作り方を学ぶよい機会を得ることができるでしょう。設計とコードの乖離に悩む設計者にも朗報になると思います。

ということで、話題はとてもよいと思います。ただ、オブジェクト指向的な機能を少し追い求めすぎた感じがします。また、コードで説明するほかに図解もあればよかったかなと。一貫したサンプルも悪くはないですが、他の適用例もあると読者も応用しやすかったのではないかな、と思いました。
 
   
人気 41位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 42位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 43位
本書の内容
オブジェクト指向は名称こそある程度ポピュラーになりましたが、その応用範囲の広さもあり、いまひとつ捉えどころの無いものになっています。
本書では可能な限り平易な表現とサンプルを使用することで、オブジェクト指向のひととおりのトピックを理解してもらうことを目的にしました。本来であれば、本書で取り上げるいくつかの項目だけで十分一冊の解説書になり得るボリュームです。本書によりオブジェクト指向の世界に興味を持たれた方は、ぜひ次のステップに進んでください。  
内容サンプル
 
User Voice
 
   
人気 44位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 45位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 46位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 47位
本書の内容
本書は Perl によるリファレンス、モジュール、パッケージ、オブジェクト指向の解説書です。これらを習得するには、どの言語を用いても独特な感覚が必要となりますが、本書では軽量言語 Perl をプラットフォームに選ぶことで、やさしく、楽しく学べることを目指しています。また、本書を通読することで、小さいプログラムを作るのと同じ労力で、大きなプログラムを簡単に作れるようになることを目的としています。

本書のサンプルファイルは以下のサイトからダウンロードできます。

技術評論社刊『すぐわかるオブジェクト指向Perl』公式サポートページ
http://www.supee.jp/sop/  
内容サンプル
 
User Voice
Spidering Hacks をつかいこなしたくて、Perlの勉強を始めました。
ですが、いろんな本を読んでももやもやするばかりでよくわかりませんでした。
それでいろいろ探し回ったところこの本の前著すぐわかるPerlにたどり着きました。
その後にこの本を読んでから、やっと他に買い漁ったPerlの入門書がわかるように笑。
本当にありがとうございましたという感謝感謝の本です。
すぐわかるPerlを読んでからこれを読んだんですがそれぞれ10回くらいは読んだかな?
おかげさまで今ではPerlを使って大量のファイル処理が簡単にできるようになりました。
これまでサイト製作にはドリームウィーバーを使っていましたが面倒なタグつけはディレクトリーごとぜーんぶPerlで一括処理です。
もうPerlなしのサイト製作は想像もできないです。
さらにうれしいことにはWEBのデータもPerlで処理できるようになりました。
レポートを定時に吐かせるプログラムは感動します。
泣けます。
さよならエクセル・・・(いや、使うけど)
なお、エクセルのデータはハッシュにして一括処理です。
エクセルでは例えば2つのファイルを同時に処理したい、3つのファイルを同時に処理したいという時、ひとつにまとめてあくせくがんばっていました。
でもPerlを使ったらそんな苦労とさようならでした。
いくつファイルがあっても問題なくひとつのプログラムで処理できます。
ファイル処理ならPerlです。
本当に役に立ちます。
思いっきり大変で私はここまでくるのに6ヶ月かかりました。
でも、その甲斐があったなーと思っています。
これから学ぶ皆さんもぜひがんばってください!
この本はPerlを学ぶなら絶対お勧めです!
この本は内容の解説もさることながら、書籍の構成がしっかりと練られている点に好感を持った。

オブジェクト指向の解説がメインなので、基本中の基本についてはさらっと触れられている程度。といっても、Perlをインストールして、なんでもいいから1〜2行スクリプト書いて実行できる程度の人なら、十分読み進められると思う。
オブジェクト指向についても、「オブジェクトとは箱で」といったおなじみの抽象的な説明ではなく、サンプルのコードで具体的に解説されている。並行して自分で書いたスクリプトをブラッシュアップさせていくと、より理解が深められるだろう。

読み終わったら、次は『Perl CPANモジュールガイド』がおすすめ。
http://www.amazon.co.jp/gp/product/486267108X/
perl におけるオブジェクト指向プログラミングの基礎をじっくりと丁寧に解説しています。
特にリファレンスのくだりは本当にしつこいくらい。
書籍の中では、まず行く先を明示して、簡単なサンプルを提示し、解説を加える。
という手順を丹念に繰り返して、初心者の躓きを出来る限り救おうとする著者の姿勢がはっきりと表れています。
perlでのオブジェクト指向初心者にお薦めの書籍。
 
   
人気 48位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 49位
本書の内容
 
内容サンプル
 
User Voice
C++で科学計算をやっている者です。matlabやscilab、mathematicaなど高機能な数値計算CADがある世の中で、CADを使わずに一般的なコンパイラやインタプリタを用いて計算する意義は薄れたと言う外はありません。しかし、CADでしかやっていない人はCADがある環境でなければやる気を失う人も見かけましたし、原始的なコードから起こしていると計算機の動作原理などを意識しながらコーディングすることになり、計算機リテラシー的な老化防止になると思います。
C++にしがみつく言い訳はともかく、matlabのようなベクトル、行列の演算の容易さや複素数も何も気にせず扱える環境はうらやましいです。C,C++も同様の機能をANSII規格で実現してもらいたいものです。本書は、これを自作するための(私個人が)日本語で見つけた唯一の書籍です。本格的には読んでいませんが、演算子のオーバーロードの仕方やベクトル、行列クラスの作り方と実際のコード中の表記の仕方などが(C++の機能を考えると)十分自然なものになっていたと感じたので購入しました。CADの機能の範疇でしか今後計算することは無い人には、もどかしくても誰かがmファイルを作ってくれるか自分で作ればよいと思います。無用の本と思います。ですが、普段からCADの機能でカバーされていない計算をしており、常に外部デバイスとの接続を意識しておられる方はC++を拡張してゆくのが、自分の研鑽のためにももっとも現実的と思います。万が一OSを作ることになったときにmatlabしか使えない、となるとOSの値段がmatlab分だけ高くなります。scilabはフリーといえども研究開発用のはず。商用のソフトの一部としては使えないはずです。
情報量や記述の工夫・丁寧さなど、求めたい部分はあるものの、C++の演算子オーバーロードやクラス継承が分かる方なら、十分理解可能と思います。
正直ソフトウェアは専門外で、複雑な計算を行う道具として使用するだけです。
matlab、pythonの便利さも捨てがたいですが、C++のCベース・軽量・高速・EXE生成できる魅力は捨てがたいです。
複雑になるほどmatlab、pythonの便利さに頼りたくなるのは変わりません。

複素数/行列/有限要素法の数値計算を題材、C++オブジェクト指向のコーディング、
経験不足の自分にとっては他人のコードを真似するのが勉強になります。
当方visual studio 2017ですが、少々の改編は必要です。
デバッグすることで勉強します。
 
   
人気 50位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 51位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 52位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 53位
本書の内容
Javaを用いた、プログラミングの入門に最適なテキスト。
これ1冊で、プログラミングの基礎をしっかり身につけられます。

●基本をおさえたコンパクトな構成
Javaに備わった多くの機能から、入出力や繰り返し、条件分岐など、まずおさえるべき基本事項が厳選されています。プログラミングをするうえで重要となるポイントを、効率よく学べます。
●豊富なプログラム例と練習問題
たくさんのプログラムに触れて手を動かすことで、プログラミングの力がつきます。参照や再帰などの初学者がつまずきやすいポイントも、ていねいに解説されています。
●オブジェクト指向入門
十分に基礎を身につけたあとは、 Javaの特長の一つであるオブジェクト指向開発にもチャレンジできます。抽象的で難しいと思われがちな概念も、具体例とともにやさしく説明され、イメージしやすくなっています。

【目次】
第1章 プログラミングの第1歩
1.1 プログラミングとは
1.2 Java のプログラム
1.3 プログラムの要素
1.4 バグ
1.5 流れ図

第2章 printとprintln画面に文字を表示する
2.1 printとprintlnの使い方
2.2 数値の計算と出力
2.3 文字列の連結
2.4 文字
2.5 特殊な文字
練習問題

第3章 入力データを読み込む
3.1 データ型と変数
3.2 表示の整形
3.3 数字の整形
3.4 キャスト
3.5 データの入力
練習問題

第4章 if文条件で分ける
4.1 if文の形
4.2 条件式の作り方
4.3 if文の組み合わせ
練習問題

第5章 for文決まった回数の繰り返し
5.1 for文の書き方
5.2 1からある数までの総和
5.3 for文とif文の組み合わせ
5.4 for文を使った二重ループ
5.5 カウントダウン
練習問題

第6章 定数と乱数便利な書き方
6.1 定数
6.2 乱数
練習問題

第7章 while文決まっていない回数の繰り返し
7.1 while文の書き方
7.2 do-while文
7.3 break, continue
7.4 for, while, do-whileの比較
練習問題

第8章 配列たくさんのデータを扱う方法
8.1 配列の宣言方法
8.2 配列の代入
8.3 配列のコピー
8.4 配列と拡張for文
練習問題

第9章 多次元配列さらにたくさんのデータを扱う方法
9.1 2次元配列の宣言方法
9.2 でこぼこな配列
練習問題

第10章 文字と文字列文章を扱う
10.1 文字列の基本操作
10.2 文字の比較
10.3 文字と文字列を扱う上での注意
10.4 高度な文字列操作
練習問題

第11章 switch文たくさんの条件がある場合の分岐
11.1 switch文の書き方
練習問題

第12章 メソッドプログラムを部品化する
12.1 メソッドの基本構成
12.2 メソッド宣言の例
12.3 メソッドの引数
12.4 メソッドオーバーロード
12.5 メソッドに配列を渡す
12.6 値を返さないメソッド
練習問題

第13章 再帰呼び出しアルゴリズム入門
13.1 再帰呼び出し
13.2 再帰メソッドを作る手順
練習問題

第14章 オブジェクト指向インスタンスを作る
14.1 クラスとインスタンス
14.2 コンストラクタ
14.3 メソッドオーバーライド
14.4 クラス変数
練習問題

第15章 クラスの継承より大きなプログラムを作るために
15.1 継承の方法
練習問題

第16章 ファイル入出力実用的プログラム入門
16.1 try-with-resources
16.2 ファイルへの出力
16.3 ファイルからの入力
16.4 1行に複数のデータがある場合
16.5 ファイルから大量のデータを読み込む
16.6 ファイル入出力同時処理
練習問題

付録A 課題に挑戦
A.1 三角形が成立する条件
A.2 素数の判定
A.3 じゃんけんゲーム
A.4 さいころの作成
A.5 コンピュータ占い
A.6 あなたのxxx度チェック
A.7 円周率を求める

付録B Javaの重要事項メモ
B.1 基礎
B.2 構文
B.3 オブジェクト指向
B.4 基本ライブラリメソッドリファレンス

索引  
内容サンプル
 
User Voice
 
   
人気 54位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 55位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 56位
本書の内容
 
内容サンプル
 
User Voice
Use Caseとは、日本語で事例研究のこと。
対象世界の事例を研究することによって、システムを構築、保守できるようにする方法。
カタカナ語が羅列されていると、分かることも分からないままになっていることがある。
あまりにも当たり前のことなので、誰でもやっていることのはず。

道具をうまく使って、効率的にくみ上げることが重要。
 
   
人気 57位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 58位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 59位
本書の内容
 
内容サンプル
 
User Voice
UML登場後に出版された方法論に関する本の中で、最も気に入っている本です。繰り返し型の開発や開発手順(開発ワークフロー)に関して非常に詳しい説明が展開されています。UMLと併用する方法論を学んだり、あるいは実践する際に参照する本としてベストだと思います。本の分量は多いですが、説明はとても丁寧かつ平易。UMLを知らずに読み進めるのは厳しいと思いますが、UMLの入門書を終えた後なら読み進めることはできるでしょう。本書に書かれている情報量は膨大で、しかも読者(開発者)が適宜必要な部分を吸収、活用することを前提に書かれているので、すべてを学習/実践しようと考えるのではなく、大局的に本書を見ながら必要な部分を選択することが必要です。
第4章アーキテクチャ中心プロセス、第5章反復的でインク裏面たるなプロセス
は、自分が仕事でやっていることに近いことが書いてあるので親近感がもてます。

ちまたのプロセス定義は、抽象的すぎるか、実際にはやっていないことが書かれていて、違和感があります。

本書に記述がないことで普段やっていることは、分析に状態遷移図と、時系列(シーケンス)図を使っている点です。
オブジェクト指向開発方法論の中では比較的完成度の高い統一プロセス(unified process)について解説されています。この方法論自体はカスタマイズして利用することを前提にしているので巨大であり、登場するワーカーも日本の読者に想像しにくいものもありますが社内でオブジェクト指向開発の開発標準などを策定する方にはバイブルだと言えます。XPを検討されている方も対極にある統一プロセスを知っておくためにこれを読むことをオススメします。章立てが悪いのがちょっとマイナスです。
 
   
人気 60位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 61位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 62位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 63位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 64位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 65位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 66位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 67位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 68位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 69位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 70位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 71位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 72位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 73位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 74位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 75位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 76位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 77位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 78位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 79位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 80位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 81位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 82位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 83位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 84位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 85位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 86位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 87位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 88位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 89位
本書の内容
 
内容サンプル
 
User Voice
 
   

オブジェクト指向 新書一覧

本書の内容
『オブジェクト指向でなぜつくるのか』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  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
オブジェクト指向は、現代のソフトウェア開発には欠かすことのできない技術要素となっています。オブジェクト指向分析、オブジェクト指向プログラミング、オブジェクト指向データなど、オブジェクト指向を元にした技術にはさまざまなものがあります。しかし、それらはすべて基本的な要素や概念を共有しており、ひとつの基礎から成り立っています。オブジェクト指向に通底する考え方を理解しておくことは、それぞれの技術の使いこなしには欠かすことができません。
本書では、プログラミングを軸に、オブジェクト指向のさまざまな概念を学んでいきます。基礎的な概念であるクラスやオブジェクトを学び、それらがどのような方法でシステムを抽象化し、開発やメンテナンスを効率化するかを示します。プログラミング言語を学んだだけではオブジェクト指向を活かすことはできませんが、こうした思考法を身につけていくことで、次第に依存性の少ない見通しの良いシステムの設計/開発が可能となっていきます。
本書では、1~9章でオブジェクト指向のさまざまな要素を解説していきます、各要素の概念を説明するとともに、クラスをどのように設計すべきなのか、難しいとされる「継承」をどのように実現すべきなのか、さらにインタフェースや抽象クラスなどの利用についても充実した解説を行います。また、後半の10~12章では、デザインパターンの利用、依存関係の制御、設計の原則であるSOLIDなど、よりプロジェクト的な観点からの知識を身につけることができます。
本書はオブジェクト指向開発の揺籃期から、その概念を学ぶための優れた指南書となってきました。第5版ではWebを前提としたシステムやモバイルデバイスなどの要素も取り込んで、現代の開発のさまざまな局面でオブジェクト指向を活かせるようになっています。
オブジェクト指向のエッセンスを正しく理解して、システム開発を効率化し、一歩進んだ開発者となるための有用な知識をまとめた一冊です。
 
内容サンプル
 
User Voice
内容は悪くないのに誤字脱字が多すぎる。
商業出版の本ではなかなかお目にかかれないほどの多さ。

誤字脱字はストレスにはなるが読めなくはないし、解説の内容自体はわかりやすいので「オブジェクト指向の言語触ってみたけどオブジェクト指向っぽく書けない。概念がよくわからない。」みたいな人には良いかもしれない。

例示されるコードがJavaなのでJavaの基礎ぐらい押さえとくと理解がしやすそう。
途中まで読み進めていますが、あまりにも誤字脱字が多く読む気が失せます。
内容は第3章までは平易であり、後半の章も流し読みしましたが、難解な内容ではありません。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
即戦力の知識を上下巻1000ページ超のボリュームで集大成!

Webアプリケーションの定番言語であるPHPの基礎から実践までを、上下巻のフルボリュームで集大成。

「この目的を実現するためには、どの文法テクニックが適合しやすいだろう」?
「このプログラムをより読みやすくするために、どんなアプローチができるだろう」?

といったことを思考しつつ、「とりあえずは動く」だけで終わらない、現場に求められる品質を形にするための知識とテクニックを解説します。  
内容サンプル
 
User Voice
まだ上巻のみだがWebアプリケーションの仕組みやそこでのPHPの役割と言った基礎的なところから話をスタートしてくれており、非常に親切。

またオブジェクト指向や例外処理といった初学者が詰まりやすいポイントに対しても「なぜ使うのか」「どうやって使うのか」といったことを踏まえて説明がなされており理解が捗る。

本書のみでまったくの初心者が学習をスタートするのは厳しいが、(1)「他言語経験者」、もしくは(2)「すでにPHPのより基本的な入門書籍かドットインストール等を完了済」、であればオススメ出来る内容だと思う。下巻も購入したい。
PHPで初心者がつまりそうな箇所を実務的な経験をふまえ詳しく解説しています。タイトルの通り上巻だけでオブジェクト指向からDB連携まで網羅しています。個人的には、この本が一番基本を押さえていて分かりやすいと思いました。私は独習シリーズよりこちらの方が良いです。
初心者には上巻だけで十分足りる内容です。下巻は必要に応じて購入すればよいでしょう。下巻は主にセキュリティやオブジェクト指向のより詳しい内容です。上巻の目次に下巻の目次も記載されています。また、出版社HPからサンプルソースもダウンロードできます。
上巻をほぼ読み終えたところです。
最近ではPHPにについて詳しく、基礎的なレベルで出されている本が少ない中(主観です)、初心者がつまづきそうなことろを考慮された内容で、かつ詳しく解説されており大変参考になる内容でした。このボリュームであり著者の尽力に感謝致します。
下巻にも取り掛かる予定です。(著者に方に)ありがとうございました。
 
   
本書の内容
即戦力の知識を上下巻1000ページ超のボリュームで集大成!

Webアプリケーションの定番言語であるPHPの基礎から実践までを、上下巻のフルボリュームで集大成。

「この目的を実現するためには、どの文法テクニックが適合しやすいだろう」?
「このプログラムをより読みやすくするために、どんなアプローチができるだろう」?

といったことを思考しつつ、「とりあえずは動く」だけで終わらない、現場に求められる品質を形にするための知識とテクニックを解説します。  
内容サンプル
 
User Voice
ものすごいボリュームに気圧されますが、そのぶん最初に全体像を把握するにはうってつけ。ここからさらに深く、広く知識を得ていくのがおすすめです。
上巻は程度の低いサンプル、中途半端な解説といった印象でしたが、下巻は更に酷いと感じました。
この書籍で、いくら学んでも実務レベルにはなれません。

これからPHPを学ばれる方は、ほかの学習ソースを探しましょう。
 
   
本書の内容
パターンを使用すると、設計ソリューションを再発見することなく、より柔軟でエレガントな、最終的には再利用可能な設計を作成できます。 ガイドとしてのデザインパターンでは、これらのパターンがソフトウェア開発プロセスにどのように適合するかを学習します。 すべてのパターンは実際のシステムからコンパイルされ、実際の例に基づいています。 各パターンには、ES6+Javascriptなどのオブジェクト指向プログラミング言語でパターンを実装する方法を示すコードも含まれています。

シンプルは知恵の始まりです。 この本のグラフィックは、デザインパターンを簡単かつ迅速に学ぶのに役立ちます。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
(概要)

オブジェクト指向ユーザーインターフェース(OOUI)とは、オブジェクト(もの、名詞)を起点としてUIを設計すること。タスク(やること、動詞)を起点としたUIに比べて、画面数が減って作業効率が高まり、また開発効率や拡張性も向上する、いわば「銀の弾丸」的な効果を持つ。ブログや雑誌記事などで大きな反響を得たこの設計手法について、前半部では理論やプロセスを詳説。そして後半部の「ワークアウト(実践演習)」では18の課題に読者がチャレンジ。実際に考え、手を動かし、試行錯誤をすることにより、OOUIの設計手法を体得できる。


(こんな方におすすめ)

・Web/モバイルアプリケーション開発者

・ユーザーインターフェースデザイナー

・フロントエンドエンジニア


(目次)

1 オブジェクト指向UIとは何か

  1-1 目当ての現し

  1-2 お金が先か、商品が先か

  1-3 オブジェクト指向UI

  1-4 オブジェクト指向か? タスク指向か?

  1-5 UIがタスク指向になってしまう背景

2 オブジェクト指向UIの設計プロセス

  2-1 デザインプロセスのミッシングリンクをつなぐ

  2-2 アプリケーションの手掛かり

  2-3 ユーザー、タスク、オブジェクトの関係

  2-4 ソフトウェアデザインのレイヤー

  2-5 デザインの究極の目的は形である

  2-6 オブジェクト指向UI設計の基本ステップ

3 オブジェクト指向UI設計の実践

  3-1 オブジェクト指向UIの設計ステップ

  3-2 本章でデザインするものの全体像

  3-3 ステップ1. オブジェクトの抽出

  3-4 ステップ2. ビューとナビゲーションの検討

  3-5 ステップ3. レイアウトパターンの適用

  3-6 タスクをどう扱うか

4 ワークアウト:基礎編

  進め方

  レベル1 メモアプリケーション

  レベル2 社員名簿アプリケーション

  レベル3 イベント店舗管理アプリケーション

  レベル4 会議室予約アプリケーション

  レベル5 家族で遊べる場所を探すアプリケーション

  レベル6 商品管理アプリケーション

  レベル7 商品管理アプリケーション

  レベル8 商品管理アプリケーション

  レベル9 商品管理アプリケーション

5 ワークアウト:応用編

  進め方

  レベル10 スマートフォン用の営業支援アプリケーション

  レベル11 イベント管理アプリケーション

  レベル12 保険契約の顧客管理アプリケーション

  レベル13 アセット管理アプリケーション

  レベル14 サイト管理アプリケーション

  レベル15 出張申請・精算アプリケーション

  レベル16 契約管理アプリケーション

  レベル17 通貨換算アプリケーション

  レベル18 販売実績照会アプリケーション

6 オブジェクト指向UIのフィロソフィー

  6-1 オブジェクトの原義

  6-2 オブジェクト指向

  6-3 GUI

  6-4 モードレス

  6-5 オブジェクト指向UIについての文献
 
内容サンプル
 
User Voice
【 オブジェクト指向の説明はわかりやすい 】
オブジェクト指向のUIデザインとは何かを説明するために、間違って同じ本を買わないための蔵書リストソフトのフローの考え方。そして、先にお金を入れないと使えない牛丼屋の券売機の使い難さについて述べている。

この後、実際のプログラム作りの説明に入るがプログラムを実際に書くわけでは無く、オブジェクト指向の概念と理念をいくつかの具体的なテーマに沿ったフローチャートで説明している。

【 UIの観念が完全に欠落している役所のWebページ 】
2020年6月時点で混乱を極めているマイナンバーカードによる給付金の支払い。申請者の記載不備により大量に停滞しているのも、もとをただせばUIの出来が悪いからである。
出来が悪いままリリースされてしまったのは、発注側の役人がソフト屋が実演して見せたタスクが動作することだけを確認して、UIのわかり易さ、使い勝手は考えもせずに受領のハンコを押したからである。
できの悪いUIを見たことが無い人はe-Taxのサイトを開いてみるとよくわかる。どこが入り口でなにをするのか全く分からないページがLinkだらけでつながっている。しかもLink先はPDFだ。
何しろ、国税のe-Taxはつい2年ほど前までブラウザにChromeが使えなかったのだ。
インターフェイス以前の問題である。

【 他の業務や社会生活にも使えるオブジェクト指向 】
したがって、UI指向の意義と段取りを理解すればプログラムを書く人でなくとも、自分の業務に顧客とのインターフェイスがある人は読んで損は無い。
要求仕様を作るときに必須だが、プレゼンをするときにも的確なアプローチができるはずである。
パワポに字をいっぱい書かなくてもね。
技術者だけでなくUIデザインをすることになった印刷系デザイナーさんや機能を定義する発注社さんにも読んでほしい良書です。

一部の人にとってデザインやユーザーインターフェースというとphotoshopやIllustratorを使って作る職人技的な絵や飾り付けのことだと思われるかもしれませんが本書はそういった芸術的側面については触れません。
あくまでソフトウェアにおける「ナビゲーションを的確に示すための概念」としてのUI調整(ワイヤー作成)の手順がとても的確に(いささか技術者向けの視点で)文章化されているものになっています。

とかく下請け構造の中にあるとUIデザインというのは技術者やデザイナーの預かり知らぬ間に決まってしまい、あとからおかしいと感じても変更の重要性を共有し承認を得るだけの時間が取れないという局面が多く発生しますが、本書はUIデザインにおいて技能を持った人間以外にもわかりやすく体系立てて方法論を解説しており、共通の認識として共有しやすいものになっています。

「ビュー」「プレゼンテーション層」「タスク」「サブミット」など初歩的ではあれ専門用語も多めでほとんど文字と簡単な図だけの硬派な内容ですが、応用の利く普遍的なノウハウが紹介されており、物理的な書籍で購入して共有したい良書だと思いました
UIデザイナーです。友人たちが販売前からこぞって予約をしており、中身をみていませんでしたがものは試しに買ってみました。
今まで何となく感覚でわかっていたけど、言語化、構造化できなかったことがこれを見てものすごく納得!
また後半からは実際に手を動かすワークもあり、情報設計のプロセスを体系的に知ることができます。
設計段階から携わるポジションにいる全ての人に読んでほしい。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
Javaを用いた、プログラミングの入門に最適なテキスト。
これ1冊で、プログラミングの基礎をしっかり身につけられます。

●基本をおさえたコンパクトな構成
Javaに備わった多くの機能から、入出力や繰り返し、条件分岐など、まずおさえるべき基本事項が厳選されています。プログラミングをするうえで重要となるポイントを、効率よく学べます。
●豊富なプログラム例と練習問題
たくさんのプログラムに触れて手を動かすことで、プログラミングの力がつきます。参照や再帰などの初学者がつまずきやすいポイントも、ていねいに解説されています。
●オブジェクト指向入門
十分に基礎を身につけたあとは、 Javaの特長の一つであるオブジェクト指向開発にもチャレンジできます。抽象的で難しいと思われがちな概念も、具体例とともにやさしく説明され、イメージしやすくなっています。

【目次】
第1章 プログラミングの第1歩
1.1 プログラミングとは
1.2 Java のプログラム
1.3 プログラムの要素
1.4 バグ
1.5 流れ図

第2章 printとprintln画面に文字を表示する
2.1 printとprintlnの使い方
2.2 数値の計算と出力
2.3 文字列の連結
2.4 文字
2.5 特殊な文字
練習問題

第3章 入力データを読み込む
3.1 データ型と変数
3.2 表示の整形
3.3 数字の整形
3.4 キャスト
3.5 データの入力
練習問題

第4章 if文条件で分ける
4.1 if文の形
4.2 条件式の作り方
4.3 if文の組み合わせ
練習問題

第5章 for文決まった回数の繰り返し
5.1 for文の書き方
5.2 1からある数までの総和
5.3 for文とif文の組み合わせ
5.4 for文を使った二重ループ
5.5 カウントダウン
練習問題

第6章 定数と乱数便利な書き方
6.1 定数
6.2 乱数
練習問題

第7章 while文決まっていない回数の繰り返し
7.1 while文の書き方
7.2 do-while文
7.3 break, continue
7.4 for, while, do-whileの比較
練習問題

第8章 配列たくさんのデータを扱う方法
8.1 配列の宣言方法
8.2 配列の代入
8.3 配列のコピー
8.4 配列と拡張for文
練習問題

第9章 多次元配列さらにたくさんのデータを扱う方法
9.1 2次元配列の宣言方法
9.2 でこぼこな配列
練習問題

第10章 文字と文字列文章を扱う
10.1 文字列の基本操作
10.2 文字の比較
10.3 文字と文字列を扱う上での注意
10.4 高度な文字列操作
練習問題

第11章 switch文たくさんの条件がある場合の分岐
11.1 switch文の書き方
練習問題

第12章 メソッドプログラムを部品化する
12.1 メソッドの基本構成
12.2 メソッド宣言の例
12.3 メソッドの引数
12.4 メソッドオーバーロード
12.5 メソッドに配列を渡す
12.6 値を返さないメソッド
練習問題

第13章 再帰呼び出しアルゴリズム入門
13.1 再帰呼び出し
13.2 再帰メソッドを作る手順
練習問題

第14章 オブジェクト指向インスタンスを作る
14.1 クラスとインスタンス
14.2 コンストラクタ
14.3 メソッドオーバーライド
14.4 クラス変数
練習問題

第15章 クラスの継承より大きなプログラムを作るために
15.1 継承の方法
練習問題

第16章 ファイル入出力実用的プログラム入門
16.1 try-with-resources
16.2 ファイルへの出力
16.3 ファイルからの入力
16.4 1行に複数のデータがある場合
16.5 ファイルから大量のデータを読み込む
16.6 ファイル入出力同時処理
練習問題

付録A 課題に挑戦
A.1 三角形が成立する条件
A.2 素数の判定
A.3 じゃんけんゲーム
A.4 さいころの作成
A.5 コンピュータ占い
A.6 あなたのxxx度チェック
A.7 円周率を求める

付録B Javaの重要事項メモ
B.1 基礎
B.2 構文
B.3 オブジェクト指向
B.4 基本ライブラリメソッドリファレンス

索引  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
オブジェクト指向は名称こそある程度ポピュラーになりましたが、その応用範囲の広さもあり、いまひとつ捉えどころの無いものになっています。
本書では可能な限り平易な表現とサンプルを使用することで、オブジェクト指向のひととおりのトピックを理解してもらうことを目的にしました。本来であれば、本書で取り上げるいくつかの項目だけで十分一冊の解説書になり得るボリュームです。本書によりオブジェクト指向の世界に興味を持たれた方は、ぜひ次のステップに進んでください。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
あなたはオブジェクト指向を本当に理解できていますか? その問いに、誰もがイエスと答えられるように、本書を書き下ろしました。本書は、Javaのオブジェクト指向について、わかりやすい図版や先輩ネコと新人ネコの楽しい会話文でじっくり丁寧に解説したJavaオブジェクト指向徹底解説本です。Java8から新しく登場したラムダ式やストリーム処理についても解説しています。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
独学でプログラミングを学んでいる者です。
そして、私も、ご多分にもれず、オブジェクト指向のところつまづきました。
当時、なんとか理解したい一心で、オブジェクト指向を解説した参考書を
手当たりしだい読んでおりました。
もちろん、多くの書籍では簡潔かつ良質なテキストで説明がなされていました。
しかし、私があまりにも無知すぎるゆえに、それらの書籍では「なるほど」という理解を得ることができませんでした。
一方、本書では、そのような私でも「なるほど」という理解を得ることができました。
理解を得ることができた理由は、シンプルで、一般的なオブジェクト指向の参考書であれば、説明を省略してしまうであろう、基礎的な前提知識、観点、その界隈における慣習・常識などを、省略することなく、丁寧かつ、そして、まろやかな文体で、解説してくださっているためです。

おそらく、著者の川場先生は、私のような独学プログラミング初心者までも読者として想定し、本書のみで「オブジェクト指向の目的と基礎的なメカニズムを理解した上で、一応、実践で使える」というレベルに到達できるよう、熟考して、本書を執筆されているのでしょう。

そのため、説明文に簡潔さはありません。読む方によっては「そんな当たり前のこともいちいち書くのか」と、ややくどく感じられるかもしれませんが、その当たり前のこともよくわからない、私のような独学プログラミング初心者にとっては、本書はたいへん貴重な一冊だと思います。
今まで色々なJavaの入門書&学習書を読んできましたが、この本の内容はお世辞抜きで現時点で最高です!
以下、この書籍の優れている点を列挙します。

・題名の通り、Java8以降の重要な文法事項(NIOやラムダ式、ストリーム処理、マルチスレッド処理など)が漏れなく、詳細かつ極めて分かりやすく解説されている。

・全体を24の小単元に分け、説明の区切りごとの簡単な練習問題や各単元ごとの章末問題(プログラム作成を含む)が豊富に用意されており、これらの問題を解くことで、本文の説明文の理解度を着実にチェックしながら学習を進めていくことができる。

・今まで理解が曖昧なまま平気で当たり前のように使ってきたオブジェクト指向の基本事項(インスタンスやメンバ、コンストラクタの仕組みなど)が丁寧に説明されており、他の入門書だけでは気づかなかった箇所が多々あった。

・書籍専用のWebサイト(http://k-webs.jp/oop/index.html)が用意されており、内容が大変充実している上に、メンテナンスもきちんと行われている。本書のサンプルプログラム(Eclipseのプロジェクト形式のものと個別のファイル形式のもの)ももちろんアップされている。

なお、本書では、Java言語の学習事項のうち、GUI関係(SwingやJavaFX)、ネットワーク関係、データベース関係、Webアプリ関係は守備範囲外となっています。
・分かりやすい!
とても分かりやすく、文系出身の私でもスムーズに理解できました。前作の分かりやすいJAVAも大変分かりやすかったのですが、本作も安定の分かりやすさでした。
本当に理解出来るため、ボリュームの割に短期間で読了&理解できました。
・猫が可愛い!!
所々の猫が可愛く、勉強中の楽しみでした。猫好きの方にオススメです。内容はしっかり仕事にも使えるレベルまで網羅しており、所々に遊び心もありで、非常にバランスの良い本だと思います。
 
   
本書の内容
『新・明解C++入門』の姉妹編、ここに刊行

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

C++を用いてオブジェクト指向プログラミングの基礎を学習するための入門書です。

まずは、クラスの基礎から学習を始めます。データと、それを扱う手続きとをまとめることによってクラスを作成します。それから、派生・継承、仮想関数、抽象クラス、例外処理、クラステンプレートなどを学習し、オブジェクト指向プログラミングの核心へと話が進んでいきます。その過程で、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めていきます。最後の三つの章では、ベクトル、文字列、入出力ストリームといった、重要かつ基本的なライブラリについて学習します。
本書を通して、読者は、C++という言語の本質と、オブジェクト指向プログラミングに対する理解を深めることができるでしょう。

なお、本書は、『新・明解C++入門』(2017年12月刊行)の姉妹編であり、『新・明解C++入門』でC++の基礎を学んだ読者にとって最適なテキストです。

●目次
はじめに
第1章 クラスの基礎
第2章 具象クラスの作成
第3章 変換関数と演算子関数
第4章 資源獲得時初期化と例外処理
第5章 継 承
第6章 仮想関数と多相性
第7章 抽象クラス
第8章 多重継承
第9章 例外処理
第10章 クラステンプレート
第11章 ベクトルライブラリ
第12章 文字列ライブラリ
第13章 ストリームへの入出力
参考文献
索引
謝辞
著者紹介

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
今まで、FORTRAN、COBOL、BASIC、PL/I、C言語、Perl、PHP5、C++、C#さらには、SQL、HTML5、CSS3、JavaScriptなど各種プログラミング言語の習得に努めてきたが、やはりC++がいちばん難解である。
望洋先生のアルゴリズムは簡潔で洗練されているため、数学的素養のない自分には理解するのが大変であるが、挫折しそうになる心に鞭打って、先を急がずに毎日ちょっとずつ進めているところである。
しっかりした内容で、申し分のない、安定したクオリティーです。有難うございます。
前回のC++入門編と本書をセットとして考えれば網羅性は高く、
丁寧に説明してると思います。

しかし本文中に結構間違いがあったりします。
例で示している構文が間違っていたり説明が間違っていたり。。
コードを掲載している部分はコンパイル済みのものを転記していると思われるので、
掲載部分は基本信じてよさそうです。
なので「え?ちがくね?」って箇所があったら
例文が公開されているので落としてきて、それをいじりながら実験してみれば
理解度はつくと思います。
 
   
本書の内容
この本はおよそ18000文字。そんなに多くありません。
集中して読めば1時間とかで読めてしまうかも知れません。

世の中にはプログラムの天才みたいな人がいて,ケントベックやマーチンファウラーなんかが「テスト駆動開発」とか「リファクタリング」なんていう,すばらしい本を世に送り出しています。

日本でもマイクロソフトMVPの方や,エバンジェリストの方などがすばらしい本を出されており,私も,よく読ませていただいています。

そんな感じで世の中にはいろんなオブジェクト指向に関する本がたくさんある中で,なぜあなたはこの本を読む必要があるのか?

まず,天才たちの書いた本に比べて,確実にわかりやすい表現で書かれています。
天才たちの本は,天才であるがゆえに,難しい内容が多いです。
途中で挫折しそうになる本も何冊もありました。

私は,もともとミュージシャンをしていてプログラマーに転向したので,ズブズブの素人でした。その素人から,15年以上の歳月を経て,今では大手メーカーの製品開発部門でプロジェクトリーダーをしています。毎年入ってくる新人には教育を行い,毎日のようにコードレビューをして,どうすればわかりやすいコードがかけるかを指導しています。

そういう現場の声と,素人の気持ちのわかる私だからこそ,わかりやすい内容で本を執筆しています。

この本の中にある知識は,一冊5000円以上もする天才たちの書いた本を何冊も読み漁り,毎日10時間以上コーディングを何年もして,何年間もクレームを出さない,保守性の高いコードはどうやったらかけるのかを研究した内容をまとめたものです。
そんな感じの本がこの価格なのでかなりお買い得だと思います。
この知識を得るのに,お金と歳月をかけてきましたが,それをあなたは1時間で得ることができます。

ただオブジェクト指向は奥が深く,簡単に理解できるものではないと思います。
本気でオブジェクト指向を学びたいという方のみご購入ください。

はじめにより
オブジェクト指向でプログラミングをするってどういう意味か分かりますか?

オブジェクト指向言語であるC#を使ってプログラミングをしていても,オブジェクト指向的にプログラミングできているものと,そうでないものがあります。

プログラミング初心者にはこの違いは分からないでしょうが,初心者でなくてもこの違いが分かっていない方って結構います。

特に,.NETが誕生する2002年より前からVB6などでプログラミングをしていた人は,なかなかこの「オブジェクト指向」という言葉の意味や,実装方法が「分からない」「理解できない」「難しい」という声をよく聞きます。

ここ10年くらいの間にプログラミングを始めた人は,最初からC#という言語が存在していたので,オブジェクト指向的にプログラミングができているか?というとそうでもありません。

大学で数年間プログラミングを勉強して会社に入ってくる新人を教育していても,オブジェクト指向的にプログラミングをする意味を理解していないし,入社して5年ほど経つエンジニアでも理解できていない人は結構います。

オブジェクト指向的にプログラミングするというのは抽象的な表現であり,ズバリこれがオブジェクト指向で書かれたプログラムだ!となかなか示し辛いというのもあり,また人それぞれで解釈も異なるため,プログラマーがそれぞれに思うプログラミングをしてしまっているというのも,現代のプログラマー市場では往々にしてまかり通っています。

そもそもプログラマーという職業,今はどうか分かりませんが,まったくプログラミングできない人間でもプログラマーになれました。大学でプログラミングを勉強していなくても,プログラムを書いたことがなくてもプログラマーになれました。

というのも,大昔はコンピューターなんて無い時代でしたが,その後に現れたコンピューターというのはドデカイ物で,銀行や企業の限られた人が使うものでした。

ここ20年で一人に1台(もっと?)パソコンが与えられて仕事をするのが当たり前になり,それに伴い,社内や個人で使用するアプリケーションといわれるソフト開発の需要が恐ろしく伸びたのです。

アメリカも日本もそうですが,パソコンが普及し,一気にプログラマーの需要が伸びたため,次第に未経験者であっても,まったくプログラミングの知識の無い人であっても,企業を雇うようになりました。大手企業は自社で人を雇い,育てていくのでまだいいですが,プログラマーを雇い,企業に派遣する会社は,ロクに教育もせず,プロのプログラマーの顔をして,現場に派遣します。そして一人50万程度の単価で働かせて,当人には20万程度を給料として支払うという会社がたくさん現れました。

あなたが今,職場で目にしているわけの分からないプログラムコードは,こういった未熟な人間によって作られています。少し勉強して,代入とIF文を独学で学んだだけの人間でも,プロのプログラマーとして働き,保守性の悪い,いや何もかもが悪いダメダメプログラミングを量産しています。

マーチンファウラーの有名な著書「リファクタリング」でも,最初にケントベックと出会ったときのエピソードの中で,ケントベックは「1週間かけてすべてのプログラムを全員でリファクタリングさせた」と語っていますが,アメリカおきていたことが,10年ほど遅れて日本でも同じことが起きているのだと感じます。

目次
はじめに
オブジェクト指向プログラミングをそうで無いもの
なぜオブジェクト指向で作らないのか?
オブジェクト指向を知らない
オブジェクト指向を知っているけど理解できない
オブジェクト指向は自分で編み出すことができない
本章のまとめ
なぜオブジェクト指向プログラミングは難しいと感じるのか?
オブジェクト指向プログラミングをする上で必要な3つの知識
本章のまとめ
オブジェクト指向設計のカプセル化ってどういう意味?
カプセル化されていると何がいいのか?
カプセル化するとどんなメリットがあるのか?
カプセル化されていないと何がいけないのか?
本章のまとめ
オブジェクト指向設計のインタフェースとは?
インタフェースの使い方 実装例1
インタフェースを使わない場合
インタフェースを使った場合
有効的な利用方法
仕様
本章のまとめ
そもそもオブジェクト指向設計の「継承」ってなに?
オブジェクト指向設計に「継承」があったら何がいいの?
継承のメリット1:コード量の削減
継承のメリット2:画面レイアウトの統一
継承におけるデメリット
継承がなかったら何が悪いの?
C#での継承の使い方
BaseFormの実装
継承先クラスMenuForm
継承先クラスListFormの実装
継承されたくないとき
本章のまとめ
おわりに
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。

著者らの実践した授業内容を基に、各章末に演習問題を配し、また側注でアシストを行ない、初学者が迷わず学べるよう工夫してある。最終章では、アドバンスなプログラミング手法も解説する。オブジェクト指向ブログラミングをしっかり学ぶ読者には必携の書である。  
内容サンプル
 
User Voice
大学の指定教科書であったため購入したが著者、監修が完全に理解しきった人のみで書かれているため初めての人目線では書かれていない。同大学のある教授もこの本は不親切な本であり他の参考書を買うことを強く勧めるとおっしゃっていた。入門とはとても思えない内容となっているので注意していただきたい。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
「ソースがごちゃごちゃしていて、どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために、あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが、本来はありえない場所にまで影響して、大幅なやり直しになってしまった」といったトラブルが起こるのは、ソフトウェアの設計に問題があるから。日本最大級となる60万件以上の求人情報サイト「イーキャリアJobSearch」の主任設計者であり、システム設計のベテランである著者が、コードの具体例を示しながら、良い設計のやり方と考え方を解説します。  
内容サンプル
 
User Voice
オブジェクト指向を活用したドメイン駆動設計(DDD)が丁寧に解説されています。本全体を通じて、オブジェクト指向の良さを生かし、「オブジェクト指向らしく」設計するためにはどうしたら良いか、が具体的な場面を想定して展開されていきます。

その中でも、3層アーキテクチャを例に、従来の手続き型の設計と対比させながら、業務の関心事を分離してドメインモデルを設計していく手法と、リファクタリングも含め、DDDに必要な要素を解説している4章は特に読み応えがありました。

対象としている読者層への配慮からだと思われますが、「オブジェクト指向らしく」が具体例を交えながら丁寧に解説されるため、冗長と感じてしまう部分はあるかもしれません。反面、プログラミングに十分習熟していない私でも理解できる程に噛み砕かれており、オブジェクト指向を少し学んだ初級者~中級者レベル向きだと感じました。良書だと思います。
ドメインオブジェクトにビジネスロジックを凝集したいという考えは良いと思った。
ただ、この開発手法を実践するためにはメンバーに思想を周知する必要があるし、継続的なリファクタリングが必須になる。
そのため自由がきいて、かつ少人数のプロジェクトでないと実践するのは難しいかな、という印象。
実践するとしても、すべての領域にドメインの考えを適用する必要があるかは考える余地がある。

こうした考えがあることを知っておけば活かせる局面もあるはずなので、ドメイン駆動設計ってなに? という私には価値のある本だった。
著者も明記していますが、すべてのプロジェクトメンバーがオブジェクト思考のある程度の知識を備えていないと、すべては実践できないと思います。
下手をすれば状況が悪化する場合もあるかと思います。
しかしながらオブジェクト思考を実践するためのエッセンスは多く散りばめてあり、部分的に取り入れていくことで、その実感、経験をすることはできると思いました。(クラスやメソッドを小さくとか、当たり前と思って実践してたけど理由があやふやでした)
この点で、この著書を購入して良かったと思います。
あと、原典のような書籍(分厚く自分は読むのが苦痛)を噛み砕いて分かりやすく説明しているのもありがたいです。
 
   
本書の内容
こちらの書籍は 2020/05/27 紙版の3刷に対応するため更新をおこないました。
(概要)
誕生から20年を迎え,幅広い分野のプログラミングに欠かせないJavaの基礎から応用までをしっかり解説。Javaの最新仕様(Java 8)に基づく文法から,オブジェクト指向やデザインパターン,そしてビルド,ドキュメンテーション,品質への配慮などまで,現場の開発で避けてはとおれない話もきちんとおさえました。開発やトラブルシュート経験の豊富なアクロクエストテクノロジーのメンバーが,保守性,堅牢性,性能,開発効率などの観点をふまえて書き下ろした,Java開発者必携の1冊。

(こんな方におすすめ)
・Javaの基本は理解できているものの実践的な知識はわからない方
・以前からJavaを使っているもののJava 8の新たな文法はご存知ない方

(目次)
Chapter 1 Javaの基本を知ろう ~イントロダクション~

Chapter 2 基本的な書き方を身につける

Chapter 3 型を極める

Chapter 4 配列とコレクションを極める

Chapter 5 ストリーム処理を使いこなす ~ラムダ式とStream API~

Chapter 6 例外を極める

Chapter 7 文字列操作を極める

Chapter 8 ファイル操作を極める

Chapter 9 日付処理を極める

Chapter 10 オブジェクト指向をたしなむ

Chapter 11 スレッドセーフをたしなむ

Chapter 12 デザインパターンをたしなむ

Chapter 13 周辺ツールで品質を上げる

Chapter 14 ライブラリで効率を上げる  
内容サンプル
 
User Voice
全体的に分かりやすい説明でお勧めできると思う。

Java8のラムダ式やStream APIなど今時のプログラミングスタイルは従来の多くのjavaプログラマが使いこなせていないらしい。この機能追加は今までのJavaのアップグレードとは違う領域に踏み込んでおり、きちんとフォロアップしておく必要があるが、おそらく予想以上に苦戦する人も多いのではないかと思う。むしろ他の言語(javascrit,ruby,python,phpなど)をやっていた人が本書を読んで一気にキャッチアップし抜き去ってしまう事態がないとも限らない。
Javaの例外(Exception/RuntimeException)の区分と使い分けは、いつも人に教えるときに苦労しています。しかし、これからはこの本を渡しておけばその苦労をする必要はなさそうです。
Javaを少しは書けるようになってきたが、例外とかマルチスレッドとかよくわからない という人にオススメだと思います。StreamAPIなどの説明もしっかり記述されています。
JAVAの再学習に最適な本だと思う。非常に読みやすくとっても気にいってます。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書はプログラミングの初心者が本当の意味でオブジェクト指向を理解することを目標に執筆しました。
主にオブジェクト指向にトピックを絞り、文法だけではなく「なぜこうなっているのか」といった思想のレベルで説明をするよう気を配っています。そのため、単に「クラスはこう作ります」といった浅いレベルではなく「クラスはこう設計すべき」「クラスとクラスはこう連携させます」といった実践レベルのトピックも多いです。たんに文法を知っていてよく分からずにコードを書くというレベルを脱却し、一人前のプログラマになる足がかりとして本書を役立ててくれることを願っております。
なお、本書は私がシスコシステムズで提供していた社内トレーニング、及びそれがマイナビニュースにて連載された記事に基いて作成されています。Python について詳しくないかたは本書より先に前書である「速習 Python 3 上: プログラミングの基礎編」から始めることをおすすめします。

目次
01. オブジェクト指向を体験
02. データ構造
03. クラスとインスタンス化
04. インスタンスとメソッドの関係
05. コンストラクタ
06. self
07. 情報の隠蔽
08. オブジェクトは何をすべきか
09. 関数型プログラミング
10. ゲーム作り
11. クラスの継承
12. メソッドのオーバーライド
13. GUI で継承を学ぶ
14. クラスの高度なトピック
15. ドキュメンテーション
16. 例外処理の基礎
17. 例外クラス
18. 高度な例外処理
19. 終わりに  
内容サンプル
 
User Voice
ちょうどオブジェクト指向を理解したくて、ピンポイントのタイトルと手頃な値段から購入しました。内容・構成についてはほぼ満足。連載記事から起こした内容を編集したようです(連載記事の間違い箇所で、本書で修正されている部分があるようです)。コードを書いて動かして、そのあと文章を読み直すといい感じに理解が進みます。
サンプルコードのダウンロード用に、「本書のウェブページ」が紹介されているのですが、ここのレンタルサーバーが404errorを返してきます。この本の内容自体は勉強になるし、ダウンロードするよりも、写経した方がさらに勉強になるのでしょうが、「おまけ」をちゃんとつけてくれないので、あえて☆2つとします。(本当は5つつけたいのですがね。)
概念が分かったのはよかった。オブジェクト指向について、ゲーム部分が長過ぎです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
(概要)
オブジェクト指向設計の名著として名高い“Practical Object-Oriented Design in Ruby”,待望の翻訳版!使いこなせるようになるととても便利なオブジェクト指向ですが,「なんとなく」の理解で使っていると,大きな罠にかかってしまいます。本書は,保守性を上げて運用コストを下げるアプリケーションをつくるために,クラス設計から基本概念,継承のテクニック,ダックタイプ,そしてテスト設計まで,幅広くカバーしています。オブジェクト指向言語を使用するすべての人におすすめの1冊です。

(こんな方におすすめ)
・オブジェクト指向プログラミングをしたことがある人
・オブジェクト指向設計に悩んでいる人

(目次)
第1章 オブジェクト指向設計

第2章 単一責任のクラスを設計する

第3章 依存関係を管理する

第4章 柔軟なインターフェースをつくる

第5章 ダックタイピングでコストを削減する

第6章 継承によって振る舞いを獲得する

第7章 モジュールでロールの振る舞いを共有する

第8章 コンポジションでオブジェクトを組み合わせる

第9章 費用対効果の高いテストを設計する  
内容サンプル
 
User Voice
・クラスの単一責任化(クラス間が疎結合なコードを書く)
- クラスにメソッドを追加する時にそのクラスが知るべき情報なのかを自問自答する。
- 疎結合にしておかないと、1つの修正が他のクラスへの影響し、ひいてはサービスの品質へと繋がる。
- 単一責任化することで、疎結合同士のクラスとなる。この情報はどのクラスに聞けばわかるか(クラス間の依存関係)容易になり、変更が容易なアプリケーションの土台へと繋がる。
・単一責任の考慮不足の場合に起こり得るアンチパターンとして、本当は他のクラスから聞き出せばいいのに、自身のクラス内に取り込んでしまう場合。その場合、メソッドの引数に知りたい情報を持っているオブジェクトを注入し、クラスが必要以上の情報を持たないよう疎結合な設計にする。

・修正が発生した際にコストを掛けずに改修したい
- 依存性の高い設計にしないこと。よくあるアンチパターンとして、is_a?、kind_of?、responds_to?、case文でオブジェクトの種類毎にロジックを分岐させている場合要注意
- 依存性を減らした設計ができないか(ダックタイピング)を検討し、各クラスに同じメソッドを実装、別クラスへの切り出し、ポリモーフィックの利用を考えてみる。

・継承先で継承元と疎結合になるよう適宜フックメッセージを使う
どんなプログラマーでもsuperの送り忘れはあり得る。superの利用忘れは継承元への依存が高いことを意味する。
そこで、継承元にフックメソッドを用意し、結合度を低減させ変更に強くする

・メソッド探査パスへの理解
extendしたメソッドとincludeしたモジュール群に定義されたメソッドの場合、extendした方が先に探査される。
また、includeされたモジュールが複数あった場合のメッソドの探査は最後にインクルードされたモジュールから探査される。

・継承とコンポジションの利用の判断
継承はメッセージの委譲コストが楽になるが、オブジェクト間の階層構造により依存関係を強く持つことになる。
コンポジションは小さなオブジェクト単位を作るため、責任範囲が明快。階層構造から独立しているので見通しが良くなる。
rubyはオブジェクト指向言語で、さらにrubyならではのオブジェクト指向的なプログラムの書き方、クラスオブジェクトの設計の仕方というがあります。

この本は「rubyでオブジェクト指向プログラミングをするならせめてこういう設計でやれ」という手法について教えてくれてます。

筆者は教えるのがとてもうまいです。自分を完璧の権化のように見せることなく、ごく平凡な発想で作ったクラスの例を出してから話を始めます。そしてそのように最初に設計してしまうのも、別に間違いではないと言うのです。必要な要素をすべて見越すことなどできないと言い切ります。

それからそうした設計の欠点がどういうふうに現れ出し、その結果どういう設計が求められ、それをrubyでやるならどうするか、という手順を踏んでプログラムの進化する様を見せてくれます。なので、とても腑に落ちて理解できました。

これを読まなくてもrubyのプログラムは、はっきり言って、できると思います。
でもこれを読んだ後なら「なぜそのようにクラスを書くのか」ということに対してベストプラクティスを基にした一定の根拠を持てるようになるでしょう。

ゆえにrubyを使ってプログラムを書くなら必読級の著作と思います。
オブジェクト指向言語でのクラス設計の基本を、Rubyの観点から網羅した素晴らしい本です。
“説明する内容の とても基本的な事を綴(つづ)る事には一貫して起承転結させている”と言えば お分かりいただけるでしょうか。
貴方のプログラミング技術が素直であればあるほど この本の解説はすんなり読み取れるでしょう。
ただし、他のレビュワーの方々が折に指摘されている通り、翻訳には変に突っかかった独特の癖があります。
私が読みますに、恐らくは直訳で一貫していて意訳を一切含めていないのが原因だと思います。
これは捕捉ですが、例えば、一般的に見慣れない蛍光板が街に設置されていて、誰かが
It can view result as message.
と言えば、これは「実はアレ、メッセージボードなんだ」という意味になりますが、これを直訳のままにすれば「それは結果をメッセージとして表示できるようにしている」となりますね。
訳された方がワザとやっておられるのかは定かではありませんが、それさえ把握できれば普通に読めます。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
(概要)
Software Designで過去に掲載された「オブジェクト指向」に関する特集記事をまとめたムック本です。オブジェクト指向について,基礎的な知識を教える入門記事,考え方を理解するための読み物記事,サンプルコード(Java・JavaScript・PHP・Perl)を使った解説記事のほか,「アジャイル」「MVC」といった関連分野の記事も収録しています。さらに第0章には,増田亨氏による書き下ろし記事『最近の「オブジェクト指向」事情』も掲載。これからオブジェクト指向を学ぶための入門書として,また苦手克服の1冊としてぜひご活用ください。

(こんな方におすすめ)
・オブジェクト指向を新たに学びたい新人エンジニアさん
・オブジェクト指向に苦手意識を持つ若手エンジニアさん

(目次)
第0章
最近の「オブジェクト指向」事情 ――いかにして学び,現場に広めるか

第1章
わかった人だけメキメキ上達 ちゃんとオブジェクト指向できていますか?

1-1 オブジェクト指向の学び方,教え方
1-2 組み込みからクラウドまで,オブジェクト指向は隅々と!
1-3 JavaScriptでオブジェクト指向
1-4 PHPでオブジェクト指向
1-5 Perlによるオブジェクト指向入門
1-6 オブジェクト指向の基本を学ぶ

第2章
――克服したい大きな壁 オブジェクト指向――習得のヒントと実践

2-1 Javaでオブジェクト指向を知るための3つの基礎練習
2-2 急がず・慌てず自然なぺースでオブジェクト指向を学ぼう!
2-3 社会慣習としてのオブジェクト指向プログラミング
2-4 組込エンジニアのためのオブジェクト指向
2-5 Android開発でオブジェクト指向プログラミングするとは
2-6 オブジェクト指向はまぼろしか?
2-7 SmallTalkこそオブジェクト指向の克服の手がかり

第3章
特講 オブジェクト指向――苦手克服のベストプラクティス

オブジェクト指向の実践的な考え方とやり方

第4章
ソフトウェア開発はセンバー・ファルシシムス!――もしも,新卒女子SEが『アジャイル』をマスターしたら

4-1 最初の最初――if i should fall from grace with god
4-2 始まり――アジャイルの寓話。いつか,どこかの街で
4-3 アジャイルとは何か?――アストロ球団とアフリカ
4-4 プロジェクトの準備をしよう
4-5 そろそろ最初のイテレーション
4-6 大規模へと続く道(メトリクス管理)
4-7 おしまいの話

第5章
オブジェクト指向再入門――ソフトウェア開発に効くSmall Objectをご存じですか?

第6章
なぜMVCモデルは誤解されるのか?――本質を押さえて見通しのよいシステム作り  
内容サンプル
 
User Voice
オブジェクト指向の知識を深める手がかりの一つとして有用な内容と感じました。
ただ、仕事がオブジェクト指向と無縁なら知らない方が良いかもしれません。
今の仕事に迷いが出るかもしれないので。書籍としては良いものです。
## 概要
オブジェクト指向というテーマに沿って,複数の執筆者によるオブジェクト指向の学び方や考え方などがざっくばらんに書いてある。

もともと,Software Designのこういう複数の執筆者によるムックは自分は好まない。記事が細切れになり,内容が浅くなるからだ。しかも,執筆者によって文体や捉え方も違うのため,戸惑う。ある意味,複数の著者の考えをまとめて知れてよいという面もあるかもしれないが,自分には合わなかった。

一番印象に残っているのは,「1-1 オブジェクト指向の基本を学ぶ」の節だ。

オブジェクト指向によるコーディングの考え方,手順,クラスの設計などが順序立てて解説されていてよかった。ただ,これは既にわかっている人だからできるのであって,こういう考え方,組み方をどうやったら身につけらるのかというのが知りたい。

## 参考
> p. 017: if文とfor文を減らす | 1-1 オブジェクト指向の基本を学ぶ
>
> 条件文をif文を使わずに書くスキル、一見ループが必要な処理もfor文を使わない書き方を覚えること。それがプログラミングの力をつけることなんです。

たしかにこれはいえるかもしれない。

> p. 020: 参考書 | 1-1 オブジェクト指向の基本を学ぶ
>
> 『実践パターン』(ケント・ベック著、ピアソンエデュケーション)も良い本です。クラスやメソッドに、なぜ、どういう名前を付けるべきかのガイドラインがたくさん書かれています。
>
> オブジェクト指向設計を学ぶには『ドメイン駆動設計』(エリック・エバンス著、翔泳社)がすばらしい名著です。難解と言われるこの本を読み解くには『オブジェクトデザイン』(レベッカ・ワークスブラック著、翔泳社)と『実践UML 第3版』(クレーグ・ラーマン著、ピアソンエデュケーション)を読んでおくと良いでしょう。

機会があれば読んでみようと思う。

## 結論
Software Designの本だけあって,内容が中途半端なので自分には合わなかった。

オブジェクト指向を学ぶ上での名著を知れたので,次はこれらにあたってみたいと思う。

パーマリンク: <https://senooken.jp/blog/2018/10/24>
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書に興味を持って頂きまして、誠にありがとうございます。

実践Java言語シリーズ第1部です。

【お知らせ】
2015年12月14日
読みやすく、明快な文章に改善しました。
2016年07月25日 イラストの色を微調整。



本書について

  「オブジェクト指向の考え方を、どのように実際の開発に活かすのか」という事を論じた書物です

  以下の3つの項目から構成されています

    1、(本編)プログラミング技法概論

    2、(本編)オブジェクト指向

    3、(実習)プラグイン機能を持つGUIプラットフォームの開発


  「なぜメインメソッドに全てのプログラムを記述してはいけないのか?」という疑問から出発します。



想定読者

  Java新人研修を修了した方
  拙著「Java言語シリーズ」第2部をご理解頂いている方。または、第3部を一読されている方。

  ※本書はカプセル化、継承、ポリモーフィズムの解説はありません
   (既に学習済みの方を対象としています)



プログラミング技法概論

  既に確立しているプログラミング技法を、例題と伴に解説します。
  最初に良くないプログラムを掲載します。
  そのプログラムを批評した後、良いプログラムへ改修します。
  主な論点は、凝縮度、粒度、疎結合、依存、抽象度です。



オブジェクト指向

  一般的なオブジェクト指向の論点から入り、
  「その考えをどのようにクラス設計に活かすのか」という話まで拡張します。



その他

  本編では、以下の概念も併せて論じます。

    1、型に対してプログラムを書く
    2、インターフェースに対してプログラムを書く
    3、「インターフェースを公開する」という言葉の意味
    4、「インターフェースはクラスに機能を追加する」という言葉の意味
    5、クラス間の「依存の質」の良し悪し、依存の解消と改善
    6、「良い依存」の意味
    7、抽象的なプログラム



プラグイン機能を持つGUIプラットフォームの開発

  本編の学習と平行して、プラグイン機能を持つGUIプラットフォームを開発します。

  Swingアプリケーションにプラグイン機能が存在するもので、
  別の開発者が自由に機能を追加できるプラットフォームです。
  
  Javaの柔軟性、拡張性を体験して頂きたく、この実習内容を取り入れました。
  仕様を記載します。

【プラグインをインストールしていない状態】

pluginフォルダにプラグインファイルが入っていない場合、プラグインがインストールされていない状態です。


アプリケーションルートフォルダ
  ┃
  ┣ platform.jar(実行ファイル)
  ┃
  ┗ plugin(プラグイン保存フォルダ)


platform.jarファイルをクリックするとPC上にウィンドウが表示しますが、プラグインは表示しません。

【プラグインをインストールした状態】

pluginフォルダにプラグインを保存します。(ここでは、editor.jarとdbviewer.jarがプラグインです)


アプリケーションルートフォルダ
  ┃
  ┣ platform.jar(実行ファイル)
  ┃
  ┗ plugin(プラグイン保存フォルダ)
       ┃
       ┣ editor.jar(プラグイン)
       ┃
       ┗ dbviewer.jar(プラグイン)


platform.jarファイルをクリックすると、PC上にウィンドウが表示して、プラグインを選択するメニューが表示します。
メニューで選択したプラグインが、ウィンドウ上で動作します。

※本書に、Swingの解説はありません。
(GUI部分はプログラム技術の本質ではないと考えているからです。但し、全てのプログラムにコメントを残しています)



本編の雰囲気

  読者と本書の間にミスマッチが生じる事は避けたいと思います。
  本編の雰囲気を感じて頂くため、本書で利用している例題を簡略化して掲載します。


  class Statistics{
  
    Student max(Student[ ] students){
      return null;
    }
  }
  Statisticsクラスのmax()メソッドは引数にStudent配列を受け取ります。
  「StatisticsクラスはStudentクラスに依存している」と言えますが、
  この依存は許容できる依存でしょうか?もし依存の質が悪いなら、
  どのようにプログラムを改修すべきでしょうか?云々...


  本編は、このような短い例題を利用して実践的なクラス設計を論じます。
  「小さな例題を利用して、大きな意味を探る」という本編の姿勢は、
  「Java言語シリーズ第3部 Javaプログラム」にとても良く似ています。



「Java言語シリーズ 実践Javaプログラム」と本書の関係

  本書は「実践Javaプログラム」の「クラス設計」の論点を、より平易な文章と解説で再構成したものです。
  「実践Javaプログラム」との違いは以下のとおりです。
  
    1、オブジェクト指向の説明に重心を置いています
    2、「プラグイン機能を持つGUIプラットフォームの開発」という実習内容
    3、例題は短く、解説もあっさりしています(対象読者を狭めたからです)
    4、「依存の質」について論じています

  「実践Javaプログラム」をご購入された方が本書をご購入される必要性について、
  残念ながら著者は判断できません。
  ご興味がございましたら、御一読頂ければ幸いです。



目次

 01 プログラミング基礎

  アプリケーション製造とは
  プログラミング概論-1
  プログラミング概論-2

 02 Javaプログラム

  Javaプログラム概論
  Javaプログラム
  Javaプログラムの改修
  理論基盤

 03 オブジェクト指向

  抽象と具体
  現実世界のモデリング
  2dモデリング
  オブジェクト指向

 04 最終到達点

  機能によるモデリング

 
内容サンプル
 
User Voice
Java初心者ではありませんが、安かったので参考までに読んでみました。
主な読者層は高額なオブジェクト指向の入門書を買う前の、足がかりとしたい人だとおもいます。
または、入門書の敷居が高すぎたので、複数の書籍をみて理解を上げたい方に良いと思います。

説明が面白く、いい意味でプログラミングの本ではなかったです。
結合、疎結合、依存、粒度などの抽象化概念についての説明は、論理的で仕様書的なアプローチになれたものから
すると、説明が丁寧(冗長)すぎて食傷気味にはなりました。説明については特に間違ったことは書いてないと思います。
文章・文字の量が多くて、文体が合わない人には酷評されやすいという印象を持ちました。

私は技術本は文体の好き嫌いではなく、得られるスキルと価格のバランスだと思います。
本書は低価格で、他の入門書と比べると1/10、1/20程度の価格です。
内容から考えると良心的な価格で、Java初心者の方が読んで得られるものは、
間違いなく価格以上だと思います。

高額で販売されている技術書を低価格で提供して技術を大多数に広めることは、それ自体が社会貢献になると思います。
こうした低価格な技術本というジャンルが今後増えていくことを願います。☆は5つにします。
最終章の実行可能jarを実行しますと、下記のようなエラーが表示されます。
「editor.Editor cannot be cast to jarsrc.
Plugin」java初心者なのでホルダーの
構成方法やEditor.jar, DBViewer.jarのエクスポート方法などに問題があるのではと
思うのですが解決策が思いつきません。御教授いただける方がいらっしゃいましたらお願い申し上げます。
eclipseでのフォルダー構成とplugin.txtの内容を添付させていただきました。
オブジェクト思考を意識してプログラムを制作・改修していく内容の本です。
とてもおもしろいと思いました。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

jQueryのその先へ。
サンプルをつくりながら学ぶ制作現場の実装スキル

JavaScriptの基本書は数多く存在しますが、実際の開発で、どうコードに落とし込めばいいかとなると、とたんに「壁」を感じる人がたくさんいます。本書は、そんな人たちが、これだけ学べば「壁」が越えられるという5つ(❶オブジェクト指向の考え方、❷UI・インタラクティブ表現としてのイベント、❸Canvas APIによるグラフィック表現、❹Ajaxを利用したAPI連携とデータ検索、❺シングルページアプリケーションの実装)を集中的に学んでいく学習書です。それぞれ読んで理解できる「基本」と、具体的なコードを書きながら学べる「実践」とのセットになっているので、現場で使えるスキルが効率よく身につきます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
著者が前書きでも書いていたとおり
本書はまったくの初心者を対象には書かれていないようで
if文やfor文、変数の書き方といった基礎的な部分の説明はなく
いきなりクロージャやオブザーバーの説明から入るので
ある程度基礎は固めた状態で始めるのが良いかと思います。

各チャプターごとにサンプルを作成しながら学んでいく形式ですが
サンプルのHTML、CSS、JS、画像が予め用意されていたので
JS以外は用意された物を使用して、JSだけに集中して実装に取り組む
という使い方が出来たのは良かったです。

個人的に嬉しかったのは、
フォームのバリデーション、モーダルウィンドウ、Ajaxでデータを取得してHTMLに落とし込む方法など
扱っている題材がかなり実用的だった事で、
特にバリデーションに関しては、近々担当する案件で必要になりそうだったので早速参考にさせてもらいました。

不満な点としては、
他の方も書いていましたが、ライブラリの話が少なかった点で
現場でよく使われるライブラリやその使い方などの情報がもっと欲しかったです。
もう一点は、
サンプルが盛りだくさんなのは嬉しい事ですが、その分各サンプルにかける解説が少しすくなく感じたので
サンプルを一つ二つ削って、なぜそのような書き方になるのかといったような一歩踏み込んだ解説があるとよかったです。

色々と書きましたが、
ある程度Javascriptの基礎は学び、次にどのような事を学べば良いかと迷っている方には
間違いなくオススメできる一冊だと思いました。
キャッチコピーに反し、jQueryをベースにコンポーネント志向でアプリケーションを作るための参考書です。
コンポーネント単位でクラス志向(のような感覚で)フロントエンドを開発する考えが身に付く本です。
jQueryは分かるがオブジェクト志向は疑問...や、
JavaやPHPでオブジェクト志向は慣れているけどJavaScriptはスパゲッティになってしまう...等のような方には、
jQueryで構造化されたコードを学ぶ機会が得られるので、すごくお勧めです。

最近はReactやVueのようなフレームワークが流行っていますが、もし闇雲にこれらを初めて苦戦しているなら
易しいjQueryでコンポーネント志向のコードを知る意味でこの本は絶対に経験した方が良いですし、
jQueryやReact等関係なくツールに限らない必携知識が得られます。

なお、
・一部高階関数のトリッキーな書き方をしている
・JavaScriptのクラス記法でなくES5記法
・この本にあるUnderscore.jsのライブラリはネイティブJSで代替できる
といった注意事項はありますが、JavaScriptは絶えず変化を続けている言語であり、
これらは自分の中で消化できるレベルでないと最低限この本を買う段階ではないと思います。
中身は濃かった。

PHPよりムツカシイ・・・フロントさんも大変だ。

初版より2年経ったし、第二弾だしてほしいな。
 
   
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

このテキストは、他の参考書なしにプログラミングの学習を進められるように細かいところまで説明しています。プログラム例を実際に走らせては、その働きを理解することで、プログラミングへの理解を深めることができます。初歩的なプログラミングの手ほどきから初めて、より実用的なプログラムを作成する上で、必要なアルゴリズムを学んでいくことが主な目的です。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
「Javaを習い始めたけれど、オブジェクト指向プログラミングの良さがよくわからない」と思っている人は意外に多いのではないでしょうか? 本書は、Javaの実際のプログラミング過程を追いながら、初心者がつまずきやすい部分を解説するとともに、学習シートを使って視覚的に「オブジェクト指向の考え方」を丁寧にやさしく解説します。視覚的にオブジェクト指向が学べる学習シート、サンプルプログラムのダウンロードサービス付き。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
本書の冒頭で断っているように、本当にJavaの右も左もわからない人がこれを読んで一からJava習得するのは無理だと思います。Javaの基礎のきくらいはかじっておく必要があります。

ですが、「Javaの勉強を始めたけどついていけない、よくわからない」という人には最適の本です。ただ機械的に記述の仕方を暗記させてつめこむだけの教材ではなく、この記述がどういう意味なのか、どういう理屈で動くのか、かなり易しく詳しく解説されています。
学習シートもついており、実際に記述できるのも親切だと思います。

欠点と言えば、何度も耳にタコができるくらい同じことを繰り返し述べていて、なかなか話が先に進みまないことです。非常にゆっくりなペースで解説が進んでいきます。同じことが3,4回述べられていたりするので、そういう説明の重複がなければ、ページ数は半分くらいになった気がします。

ですが、そういう欠点はあるものの、Javaの考え方が理解できない(私のような)人にはやはり助けになりました。
もっとも、これでJavaの実用的なスキルが身につくようになるわけではありません。Javaの世界観やコンセプトを理解するための本、というところです。Java講座を受けても、ただひたすら暗記して記述して実行して…の繰り返しだったのですが、これで「Javaとは何か」「Javaはなんのためにあるのか」という原点に立ち返って理解を深めることができました。
・入門書を読んで文法を理解し一応プログラムを書ける人を対象としている。類書の無い労作(良書)といえる。
 内容は、オブジェクト指向の解説であり、Javaプログラミングに挫折した人や必要性に疑問を抱いている人、オブジェクト指向の適性を発揮する手法・考え方を求めている人が対象である。
この本を読んで勉強意欲が上がるか下がるか難しいところ。

・説明は丁寧だが説明の対象が難しいという言い訳がいたるところに出てきてうんざりする。
 第一版の正誤表(このサイト)を見ると、誤記入の訂正に終始している。
 繰り返し読むことを要請しているが、読者から寄せられた質問を吟味して文章を練り直すべきと思う。

・改めるべき表現の例
P133 下2,3 受け取るようにしたので→受け取るようにしたが、また
P136 コンストラクタとは…特別なメソッド→特別なメソッドであらかじめクラスに折り込んでおきます。
P139 初期値を入力していた行がすべてなくなったので→初期値を入力していた行が短くnew()の引数としてまとめられたので、
P180 スーパークラスのメソッドが上書きされる→スーパークラスから受けついたメソッドが上書きされる。
P252 継承は一回につき一つのクラスしか出来ない→継承は一回につき一つのクラスのみ出来るように

・本書の基本的考えの疑問
「人間の視点で考える」だけでは不十分。
複数モジュールの共同作業
目的に適合するモデル構築で最大の効果
オブジェクト間のメッセージは、インスタント内要素の呼出し、置換、戻り値の活用などによる。
 目的達成のために形式の厳密な遵守などわずらわしく、わかり難くオブジェクト指向がいつもよいとは限らない。
還暦を過ぎてから昔取ったきねずかでプログラミングを再開しました。
構造化プログラミングとC言語まではやっていたのですが、”オブジェクト指向プログラミング”は初めてです。
クラスの概念を設計図と比喩したまではこちらも分かったのですが続きがいけません。
比較的やさしく表現しているので難しいことはないのですが途中で落ちこぼれそうです。
プログラムの構文は“C”言語をやっているので簡単にJAVAの構文に入ったのですが、オブジェクト指向のところでつまずきます。でも読み直したら納得、オブジェクト指向が何たるかが分かりました。
時間もあることだしゆっくり続けようと思います。
オブジェクト指向の言葉に迷っている方にはお勧めです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書はJavaScriptが持つオブジェクト指向的な言語特性や、その特性を強力にサポートするECMAScript 5の機能を紹介し、
それらの特性や機能を活かすプログラミングの方法、考え方、パターンについて、深くそして簡潔に解説する書籍です。
本書を通じて、C++やJavaなど「クラスベースのオブジェクト指向言語」に慣れたプログラマは
JavaScript特有のクラスを持たないオブジェクト指向プログラミングの世界への知識を得ることができ、
JavaScriptプログラマはJavaScriptのオブジェクトに関する理解をさらに深めることができるでしょう。
JavaScriptのオブジェクトを自由自在に扱い、より効果的なプログラミングを行いたいすべてのプログラマ必携の一冊です。  
内容サンプル
 
User Voice
JavaScriptの解説書は数多くある。大抵の本は、前書きでは、JavaScriptがプロトタイプベースのオブジェクト指向言語だと説明しているにもかかわらず、本文では、クラスベースの言語をシミュレートする方法の説明に終始するものが多い。

GoFの「オブジェクト指向における再利用のためのデザインパターン」は良書だが、やや概念的なきらいがあり、実際のプログラミングに生かせない方もいるだろう。

本書では、プロトタイプベースでプログラミングする手法の解説がなされており、従来の解説書では歯がゆい思いをしていた方もいるかもしれないが、この点が解決されている。

さらに、本書との出会いは、C++などをメインに使うが上記「デザインパターン」で行き詰まっている人にとってこそ、必読と言えるかもしれない。

JavaScriptは、軽量言語としての側面が目立つが、思いの外深い。少なくとも、一面的なオブジェクト指向に対する理解に一石を投じる能力は、十分に持ち合わせている。

本書によって、オブジェクト指向という概念で実現できる高度な構造についての洞察が得られれば、越えられなかった壁を越えられるようになるだろう。
たくさんの資料や解説書が出回っているものの、
それらを合わせても、いまひとつ不明瞭な部分が残るJava Scriptだが、
本書はオブジェクト指向の観点から分かり易く解説してくれている。
習熟した人にとっても有益な情報や盲点が見つかるかもしれない。
ページ数も抑えられており、重要な部分は何度も読み直して理解を深められる。
 
   
本書の内容
IT系企業の新入社員研修におけるプログラミング研修用として開発された専用のテキストです。
Javaの基本文法を理解した上で、オブジェクト指向を正しく理解するための内容になっています。
平易な文体で、プログラミング初心者でも楽に読み進めることができるように注意を払っています。
新入社員研修用のテキストとして、また個人学習用の書籍としてもお役に立てます。
まだ基本文法を身につけていない方のために「入門編」もございますので、ぜひご確認ください。  
内容サンプル
 
User Voice
スッキリわかるJava入門に内容が酷似している。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
オブジェクト指向にチャレンジしよう。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

オブジェクト指向言語としてのJavaの特徴を平易に解説。クラス、例外、継承、スレッド、パッケージ、コレクションなど、Javaをマスターする上で必須といわれるオブジェクト指向の基礎が、初心者でも簡単に理解できます。

●目次
第11章 クラスとインスタンス
第12章 スーパークラスとサブクラス
第13章 例外
第14章 インタフェース
第15章 ガーベッジコレクション
第16章 スレッド
第17章 パッケージ
第18章 ファイル操作と入出力、クラスの調べ方
第19章 コレクション

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
この本を最後まで読んでいくと・・・。
●●は本書では触れていません、という注意書きがあります。
(ジェネリクス、List等、Javaで相当使える機能なので触れてないのは勿体ない)
Javaで出来る事を網羅したいなら、役不足です。
サンプルプログラムも少ないし、コンパイルのやり方等には触れていません。
よって、コンパイルエラーで困っている時は本書はあまり役に立ちません。

とこんだけ書くとこの参考書は悪いの?って思いますがそうではありません。
途中までは結構解りやすく書いてあるし、他の参考書と併用する事で威力を発揮します。
サンプルプログラム主体の参考書を読んだうえで、文法の詳細が知りたいという人にお薦めします。
(要は初心者向けのペラペラの参考書で何となくプログラムを書く→この参考書でじっくり勉強という流れ)
勤め先でも関連会社でもこの本をテキストとしてJavaの講義をしています。
内容もサンプルコードも充実しており、しっかりと基礎が身につきます。
本の問題では無いので星は5つ。

BASICなど、非オブジェクト指向の言語に馴れているため、下巻の内容を理解するのに時間がかかっています。
 
   
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。
 
内容サンプル
 
User Voice
あなたは以下のような謳い文句をどこかで聞いたことがありますか?

・オブジェクトとはデータと振る舞いを持った「もの」である

・カプセル化とはデータを隠蔽することである

・オブジェクト指向言語では継承を使用することによって再利用が促進される(差分プログラミング)

・オブジェクトとは現実世界における実体であるため、名詞と動詞を抽出することで適切なクラス設計を行うことができる

この本は本来あるべきオブジェクト指向設計においてはこれらが適切ではないということをデザインパターンを使って解説しています。

この本を以下の方に薦めます。

・デザインパターン本(GoF本を含む)を読んだがいまいち理解できなかった方(オブジェクト指向初級者)

この本はデザインパターンの解説だけではなく、その元となっているオブジェクト指向原則についても説明しています。そのため他のデザインパターン本よりも有益でありかつ理解しやすいものとなっています。

・オブジェクト指向はある程度理解していると考えている方(オブジェクト指向中級者)

オブジェクト指向原則やデザインパターンに対する知識の整理が可能となります。「それについては知っていた」という箇所が出てきた場合には自分を褒めましょう。(この逆は、「もしかしたら自分はオブジェクト指向初級者だったのかもしれない。」です。)

また、この本が他のデザインパターン本よりも理解しやすいのは以下の理由もあると思います。

・著者がデザインパターン講義を行っている講師である

理解するのが困難な箇所について何度も解説を行った経験があり、そのためその解説が洗練されている。

・翻訳がすばらしい

村上雅章さんの翻訳は本当にすばらしいです。

オブジェクト指向及びデザインパターンについて書かれた本を今までに多く読んできましたが、この本が一番分かりやすく有益であると思いました。
題名は少し原作と変わったが、デザインパターンについての解説書。

著者が過去に携わった業務における、著者の誤った設計を示し、
デザインパターンについて説明しながら、それを用いて
現在最善と思われる解決策を深い考察とともに説明している。
それでいて、理解しやすくオブジェクト指向の原則を説明しながら
しっかり各パターンについて説明している。

これは、よくある『わかりやすい、、、』『はじめての、、、』
のような誰でも書けそうな上から目線の書籍とは全く違う。
一流の設計者が自分の経験を基に最善の設計についての追求を
続けた過程が述べられており、より技術者好みの深い考察が多い。
(必然的に、リファレンスとしての用途では使えない。)

著者はおそらく、自分の過去の仕事に対する検討や反省を続けていた
のだろうという印象を受けた。このような書籍を多く読むことで、
設計に対する自分なりの哲学を身に着けることができるだろう。

特に秀逸だと思ったのは、Bridgeパターンの説明である。
今までピンとくる解説がなく曖昧に覚えていたものが、すっきりと
理解できた。他の方に説明するときは、この本の例を使うことにしている。
プロとして設計に携わっているならば必読だと思う。
この本の内容は結構難しい。
オブジェクト指向プログラミングにある程度慣れており、詳細設計にも関わったことがないと厳しいかも。
「文法が書けるようになった → 次はデザインパターン」といった意図で読むのは、かなり厳しいと思う。

この本はデザインパターンがなぜ優れているかについて論じているため、
理論レベルの理解が必要になり、必然的に概念的な内容になっている。
(具体的すぎる内容では、浅い理解に繋がるかもしれないから仕方ないが)

対象者としては、動作させることができるプログラムを書く事ができるが、
色々な面を考慮したより良いプログラムを書けるようになりたい人。・・・とかかな。

注意点としては、
これは翻訳書なので、言い回しが何か違和感がある。読みにくいと思う。

しかし、内容としてはプログラミングの本質を突く(当然言語関係なく)、
非常に良いできだと思うので、積極的に人に勧めたい一冊。
 
   
本書の内容
●『オブジェクト指向でなぜつくるのか』7年ぶり、待望の改訂第2版!

現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を
平易な文章で核心をズバリと解説します。

改訂第2版では、すべての文章を細かく見直して修正して、追加のトピックを記述したことに加えて、
多くの技術者の注目を集めている関数型言語の基本的な仕組みと思想を解説する
「第13章 関数型言語でなぜつくるのか」を新たに書き下ろしています。

◆オブジェクト指向の全体像を整理して解説
オブジェクト指向は、プログラミングをはじめ、フレームワーク、デザインパターン、UML、モデリング、
設計、アジャイル開発手法と、ソフトウエア開発全体を支える総合技術となっています。
本書では、オブジェクト指向の全体像とそこに含まれる各技術が何を目的として何を実現するのかを解説します。
併せて、混乱を避けるために全体を「プログラミング技術」と「汎用の整理術」の2つに分けて説明します。

◆OOPのプログラムが動く仕組みがわかる
OOPで書いたプログラムは、特有のメモリの使い方をします。
本書では静的領域、ヒープ領域、スタック領域に対して、クラスやインスタンスや変数がどのように配置され管理されて
いるのかを多数の図を使って説明します。これらを理解することで、自分の書いたプログラムがどのように
動いているのがイメージできるようになります。

◆関数型言語の本質がわかる
オブジェクト指向の「次」の技術として注目される関数型言語は、従来のプログラミング言語とは基本的な
仕組みや考え方が大きく異なっています。本書では関数型言語の仕組みを7つの特徴に分けて説明するとともに、
オブジェクト指向との関係についても述べます。  
内容サンプル
 
User Voice
グローバル変数の多用は予期せぬ変更で不具合を生む可能性が高い。
従来のプログラミングでは、グローバル変数が至るところから参照・変更されていた。
オブジェクト指向では、独立性の高い部品単位でプログラムを切り出しているのが特徴。
外部から参照・変更されないようにPrivateで隠したり、機能を共通化する継承や、外部からの利用され方を統一するポリモーフィズムという方法を採用し、影響範囲を限定・効率的な利用を促すことで、従来の課題に対する解決策としている。
また、オブジェクト指向を理解する上で必須のメモリ領域の仕組みやプログラムがどのようにして動作しているかの基本は非常に重要で、体系的に学べる良書であると感じた。

【中間コード】
異なるマシンでも同じプログラムを実行できるようにするための仕組み。
LinuxやWindowsでも同じJavaアプリケーションが動くのは、JavaVMが中間コードを解釈しているから。
.NETの場合はCLR。

【3種類のメモリ領域】
ヒープ領域は静的領域、スタック領域と密接に連携しながらアプリケーションを動かしている。

・静的領域
グローバル変数や実行コードを格納する領域。
アプリケーションでまとめて1つ確保している。
ヒープ領域で作成されたインスタンスがメソッドを呼び出すと、静的領域に保存してある実行コード内のメソッドを参照する仕組み。

・ヒープ領域
アプリケーションでまとめて1つ確保している。
プログラム開始時に確保されるメモリ領域で、アプリケーションの必要に応じてメモリの割当て・開放を行う。
インスタンス変数はここに格納され、複数のスレッドから共用される。
オブジェクト指向プログラミングはこのヒープ領域を大量に使って動くため、メモリの管理であるGCが大事。
ガーベッジコレクション(GC)はヒープ領域内にある確保されたメモリをチェックし、不要と判断したら開放していく。
不要と判断する基準としては静的領域やスタック領域から参照されているかどうかを見ている。(ヒープ領域内で完全に独立 or 循環参照している)

・スタック領域
インスタンスがメソッドを実行する単位(スレッド単位)毎に確保される。
サブルーチン動作に必要なメモリである、ローカル変数、引数、戻り値を確保している。
メモリへの格納単位はサブルーチン毎になるが数が多い。そこで、後入れ先出し方式を採用して効率化を図っている。(スタック領域と呼ばれる由来)
Cを勉強している身ですが、いつかjavaでもやろうと思って「オブジェクト指向」がどのようなものか知ってみることにし、この本を見つけました。読んでみてわかったことは「オブジェクト指向」というのは名前に過ぎないということです。なんか難しく聞こえるただの名前です。中身を1つひとつ読んでいけば構造がわかっていきました。
とりあえず、すぐにでもjavaを始めようと思います。
「オブジェクト指向」の言語や手法を知るには素晴らしい本です。初心者の目線で説明してくれて、専門用語や仕組みもしっかり記載してあります。引用文献までしっかりと記載してあって、かなり時間をかけて本を作ったのだということが分かりました。☆5でフィニッシュです。
15時間ほどで読めた。

Pythonでクラスをどういう時に書くべきなのか、
オブジェクト指向でプログラミングするとはどういうことなのかよくわかっていないので
オブジェクト指向とは何なのかじっくり調べたいと思って読みました。

この本は1冊まるまる書いているので説明が豊富でわかりやすかったです。

Pythonの入門本とかだと犬とか人間とかを例にしたりして解説するのが余計に混乱させられていたので
オブジェクト指向の歴史と意義やクラス(カプセル化)・継承・ポリモーフィズムが
どう意味なのかわかりやすく説明してありよかったです。
 
   
本書の内容
Java言語の基本を学習した人やC言語を学んできた人を対象に、Javaのオブジェクト指向全般について詳しくわかりやすく解説した独習テキストです。「読めば必ずわかる」のコンセプトに沿って、コンピュータ初心者による理解テストを繰り返し「これならわかる」という内容を実現しました。本書は、好評の既刊『わかりやすいJava入門編』の続編として、オブジェクト指向について徹底解説。クラスに基づくオブジェクトの生成や参照から、クラスの継承、オブジェクト指向の仕組み、ライブラリクラスの使い方、正規表現による文字列操作など特殊な構文まで解説。練習問題も豊富に用意しているので、知識と技術がしっかり身に付きます。SJC-P試験に対応し、プログラミング入門者が独学でも理解できる平易な説明と十分な練習問題で構成されているため、学校の講義テキストとしても利用可能です。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
私はプログラミング初心者で入門編から入りました。
入門編はとてもわかりやすくスムーズにクリアできました。

しかしこのオブジェクト指向編はなかなか手ごわいです。
他の方も書いてますが、誤字、ミスが多いです。
ひとつの問題に1時間なやんだ結果、本のミスだったりします。
正誤表にのってない小さな誤字、ミスが初心者で本頼りの私には致命的な問題でした。
あと、今までの知識では解けない問題があり、解答のほうで新しいことを教えてくれるケースがあり、
「できるわけないじゃん・・・」ってこともあります。
初心者は内容を理解していても、本が間違っているとこや、知らない知識を使うできない問題で延々なやんだりします。
そのたびに心おれました笑
終盤にはすこし慣れましたけど。
これは本のミスだと見抜ける人や周りに教えてくれる人がいる人ならスラスラできると思いますが
初心者には根性がいる本だと思います。
正誤表には載っていない誤字が多く、全てで数十箇所はあった。
著者は本を出版する前に、人に読ませていると書いていたが本当なのか…?

致命的な誤字(プログラムが動かないなど)は正誤表でカバーできる。

初心者がいきなりこの本でjavaのオブジェクト指向を学ぼうとするのは難しい。
オブジェクト指向入門編という本が出ているようなので、そちらをお勧めします。
新装改訂版が出ていることから、今更新書を買う人はいないと思うので、コスパは良いです。
誤植は確かに多いので、著者のサポートページで正誤表を確認しながら読む必要があります。
内容はオブジェクト指向を行うために必要なJavaの文法を学ぶことができます。
 
   
本書の内容
はじめてJavaのオブジェクト指向を学ぶ人のために基本から丁寧に解説した独習書です。著者がオブジェクト指向の理解に苦しむたくさんの学生の悩みや傾向を分析し、入門者にとってわかりやすい内容で解説。姉妹書の「わかりやすいJava入門編」を読み終えた人を対象に、自分のペースで本を読み、通過テストで理解度を確認して着実にステップアップさせてゆける独学・自習に最適な一冊です。Androidやウェブ開発などの実用上、例外やクラスライブラリ、マルチスレッドは必須の分野です。これらも、オブジェクト指向の十分な理解によって、グッとわかりやすくなります。本書のあとに「わかりやすいJava オブジェクト指向編」を読むことで、さらに深く理解することができます。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。  
内容サンプル
 
User Voice
絶版本ですので、古書を購入しました。他の方のレビューでは指摘されていた、多少の誤字やコード印刷ミスですが、大抵は察しがつくものですので、私には苦痛には感じられませんでした。「新わかりやすいJava入門編」の続きという触れ込みですが、この「新わかりやすいJava入門編」を、別のアングルから立体的な切り口で復習しながら進んでいきます。私的には、「新わかりやすいJava入門編」よりもこちらの切り口の方が、「基本情報処理試験」には、より実践的にわかりやすく、力がつく感触を覚えました。絶版なのが残念です。活字版を再販してほしいと思います。
わかりやすいJava入門編から続いて購読し、先ほど読み終わりました。
本書はオブジェクト指向の入門編であり、for文や配列などある程度知識のあることを前提にしているので、プログラミングが全く初めての方はまずわかりやすいJava入門編を購入することをお勧めします。
また、インターネット環境があり本書の回答やeclipseをダウンロードし導入しないとしんどいと思います。

オブジェクト、コンストラクタ、カプセル化、抽象クラス、クラス継承、多態性、オーバーロード、オーバーライド、インターフェース、例外を投げるかわす、マルチスレッドなどについてくわしく説明されています。

前書より内容が多岐にわたり実践的で難しく感じました、なのでかならず例題を打ちながら読み進め、すぐには理解できない所も丸のみするようなつもりでなんとか乗り切りました。
説明は非常にわかりやすいのですが、
やはり継承や引数の入れ子が複雑でメソッドやプログラミング全体像を頭で把握することが難しかったです。(一番最後の通過テスト)

プログラミングの難しさはこういう所なのかなと感じました

また誤字が多く、ダウンロードするInputクラスで日本語入力すると文字化けするのは改善してほしいです
コメントも文字化けしています
プログラムを書かなくなってからだいぶ経っていたのですが、非常にわかりやすかったです
 
   
本書の内容
本書は、すぐれた組み込みソフトウェアを開発するための手法を豊富なサンプルコードとともに解説する本です。
前半では、制約のある組み込み環境でテスト駆動開発を行うための基礎知識とノウハウを懇切丁寧に紹介します。
後半では、オブジェクト指向をベースに考え出されたSOLID原則やリファクタリングをC言語に適用し、アジャイルな設計を実現するための方法を示します。
さらに、レガシーコードへのテストの追加方法についてもサンプルコードを使って詳細に解説します。

テスト駆動開発を学びたい、アジャイル開発について知りたい、レガシーコードと日々格闘している、そんなすべての組み込みCプログラマ必携の一冊です。  
内容サンプル
 
User Voice
ハードウェアを制御する必要がある組込みシステムにおいて、開発者は、xUnitやテスト駆動開発を導入するのは難しいと考えがちだ。本書は、そのような読者を想定している。組込みシステムにおいても、少しの工夫によってxUnitを使ったテスト駆動開発が適用できることを、具体的な演習を通じて体験的に理解できるよう構成してある。

まず、いきなりテスト駆動のサイクルを押しつけてはこない。組込みシステム固有の問題を挙げては、その回避や対処の方法を示し、それからテスト駆動の一部を適用するという手順で、徐々に適用を進めていく。この進め方であれば、テスト駆動に懐疑的な開発者も得心するであろうと感じた。

そして、本書の演習に従ってテスト駆動で開発してみれば、ハードウェアを動かすコードと、機器の機能を提供するアプリケーション側のコードがきちんと分離された構造が得られることも体感できる。組込みシステムの開発者は、ハードウェアを動かすために書いたコードを膨らませてアプリケーションを作りがちだが、そのような状況を改善する方法を解説しているとも見なせるだろう。

また、組込みシステムにテスト駆動を適用するときに遭遇しがちな問題に、ひとつひとつ対処している。実は紹介している対処法の多くは、組込みシステムのプログラマが経験的に利用している方法である。登場するのは、データ隠蔽、シングルインスタンスモジュール、マルチインスタンスモジュール、デュアルターゲット、テストダブル、スタブなどだ。組込みプログラミングにおける各種テクニックを紹介しているとみてもよいだろう。

たとえば、Cプログラマならば、データのカプセル化のためにヘッダファイルで構造体を宣言する方法を使っているだろう。本書では、さらに手堅いデータ隠蔽の方法として、ヘッダファイルには構造体の不完全型宣言だけを書いておき、構造体の完全な宣言は.cファイルに書いておく方法を紹介している。あるいは、ヘッダファイルには関数へのポインタを宣言しておき、本番用関数とスタブとして用意した関数の名前が異なっていた場合でも入れ替えを容易にする方法なども紹介している。このようなテクニックは、組込みシステムのプログラマにはよく知られているものであるが、書籍にまとまった解説があると導入や教育の際に大いに助かる。

さらに、本文の各所で、文献を参照し、著名人のことばを引用している。たとえば、本書の前段では、ジャックガンスルの「開発の縦糸と横糸」の引用がある。彼のことばによって、ハードウェアをテストし、コードをテストし、そして結合してテストする、という本書の重要な考え方が象徴されており、その後に続くテスト駆動の導入に引き込まれていく。
効果的な引用は、この本から次の段階へ進む場合に、よい道先案内となるだろう。

必ずしもxUnitやテスト駆動開発にこだわらなくても、読者が本書から得るものは多い。
組込みシステムの開発、とりわけ分割したテストするためのよい方法を求めている開発者に、本書を推奨する。
確かに、書かれているようにxUnitを使い、C言語でテストフレームワークを作り、オブジェクト指向設計、プログラミングすると改善はするのだろう。しかし、「C++がまともに使えたら相当の部分が楽になるんじゃないだろうか」と首を傾げながら読んだ。人がえっちらおっちらvtableの真似事をプログラミングする部分をコンパイラが自動でやってくれるのだから。

また、テスト用のIFを重ねてごちゃごちゃになったソースコード、オブジェクト指向風に書いたCのソースをめちゃくちゃにされた後にメンテを放り投げられた経験などを思い起こして、暗い気持ちになった。

いろいろとある現場の矛盾を、こういう「C言語でオブジェクト指向すれば解決」という単純な切り口で語っていいものだろうか。良書なのだろうけれど、このやり方を単純に日本の開発現場に放り込んでも、なんだかなあという気がする。つまり、良い本なのだけれど、自分たちの環境がだめだこりゃ、なのである。
組み込みとタイトルに書かれていますが,OSなどのミドルウェア開発でC言語を使った開発全般に通じる書籍です.

1部でTDDの話をした後,2部で実際にTDDを使った開発の流れを説明します.
また2部では,どのようにしてテストを行うと良いのか,ハードウェアからの依存をどうやって避けるか,などの手法が書かれています.
(この辺りはタイトル通り組み込みに焦点を当てている印象です)
3部では,2部で作ったプロダクトを元に,設計の方法やリファクタリングの手法,
レガシーコードとの向き合い方について説明しています.
インターフェイスの切り出し方やコードの臭いなどの話も多く,非常にわかりやすいです.

致命的なものはありませんが,若干,日本語訳にやや難がありましたので☆を1つ下げさせてもらいました.
とは言え,それ以上に濃い内容です.
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
開発の考え方・コーディングの基本がスッキリわかる!
オブジェクト指向によるソフトウェア開発の考え方、設計について、スラスラ読める文とわかりやすい図版でスッキリと理解できます。
JavaのサンプルプログラムとUMLを使った解説で、体感的に理解できます。

Lesson 1 システムの開発
Lesson 2 オブジェクトとクラス
Lesson 3 関係
Lesson 4 継承
Lesson 5 委譲
Lesson 6 システムの表現
Lesson 7 機能の表現
Lesson 8 外観の表現
Lesson 9 補助的な表現
Lesson10 システムの拡張
Lesson11 抽象と具象
Lesson12 分析・設計・実装
 
内容サンプル
 
User Voice
オブジェクト指向は今まで見ないふりをして避けていました。必要がでてきたので、向かい合おうと思ったのですが今までの思想と違うためどうしても馴染めませんでした。この本はそんな人の為にわかり易く書いてあります。1度では完璧に理解できないので、何度も読んでバイブルにしようとおもう1冊です


気に入りました。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
最強の“秘術”ここに一挙公開!!組込みソフトウェア/自作OS開発/ゲームプログラミング/etc.に「これができれば!?」という潜在ニーズは計り知れないでしょう。実例と豊富なサンプルによる丁寧で詳しい解説により、脱入門プログラマからこの道十数年のベテランまで、C言語をさらに使いこなしたい人に最適の1冊です。  
内容サンプル
 
User Voice
Cは20年ほど使い込んでますが、C++は中途半端にしか知らない、そんな状況で、オブジェクト指向プログラミングをやる羽目に陥り、救いを求めて本書を読みました。

オブジェクト指向プログラミングがどう言ったものなのか、良く分かってないのでどこまで理解できたのかは定かではありませんが、とりあえずとっかかりは出来たと思います。また、著者の方がプログラミングという作業を様々な点から良く理解して書かれていると思えたので、安心して読むことも出来ました。個人的には、とても役に立ったと思いますし、今後も、時々参照しながら作業に当たろうかと思っています。

でも読んでよく理解したのは、最も大切なのはやはりシステムデザインであり、それは自らの頭を絞って考え出さなきゃいけないなぁ、ということと、オブジェクト指向プログラミングをやるのなら、やっぱオブジェクト指向用の言語を使った方が楽なんだな、ということ、そしてチームでプログラミングに当たるなら、コミュニケーションと教育はしっかりしなきゃね、という、全く持って当たり前のこと。どれも現状、中途半端にしかないものなので、これからの大変さを再認識させていただきました。まぁこれは、仕方ありません、、、orz

とにかく、当たり前のことを当たり前として書いてくれている、良書だと思いました。

久々に、最後まで読破して、また今後も参照するであろうhow to本として、評価は満点です。
あるレベル以上の方には分かりやすい内容だと思います。解説が丁寧なのが印象的です。
C言語のプログラムやライブラリの構成を考えるときに役立つ1冊です。C言語プログラミングの入門書でもないし、オブジェクト指向そのものを学ぶための本でもないと考えた方がよいでしょう。

あるサービスを提供する関数群を提供しようと考えたとき、処理対象のデータ構造とそれを操作する関数群によって構築しようと考える事ができる人には、その方法をまとめた本と考えればよいでしょう。たとえば、C言語を使っている人なら、FILE型構造体と標準入出力関数群を知っているでしょう。あのライブラリのような設計思想に基づく自前の関数群を作る方法を身につけることができるというわけです。

もし、みなさんが具体的な関数化の指針を持たないままに、グローバル変数に依存したり、多数のパラメータでデータを渡しているような関数を作成することを繰り返しているようでしたら、この本によって系統だったライブラリの作り方を学ぶよい機会を得ることができるでしょう。設計とコードの乖離に悩む設計者にも朗報になると思います。

ということで、話題はとてもよいと思います。ただ、オブジェクト指向的な機能を少し追い求めすぎた感じがします。また、コードで説明するほかに図解もあればよかったかなと。一貫したサンプルも悪くはないですが、他の適用例もあると読者も応用しやすかったのではないかな、と思いました。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書は、オブジェクト指向の第一人者バートランド・メイヤー著"Object-Oriented Software Construction 2/E"の邦訳の後半部分です(前半部分は『オブジェクト指向入門 第2版 原則・コンセプト』として弊社より刊行)。現実プロジェクトの実践と成功に必要な方法論を解説しています。
本書は、モデリングのための視点、分析設計の原則を丁寧に解説しています。また、数多くのデザインパターンや実装技法、希少な存在である手法上の詳細な探求、継承をうまく使うためにはどのようにしたらよいのか、そのほかにもオブジェクト指向方法論、オブジェクト指向分析に関する話題に多く触れられ、オブジェクト指向環境に関しての記述が豊富です。ソフトウェア開発技術者には必須書となります。

【原題】Object-Oriented Software Construction 2/E  
内容サンプル
 
User Voice
(下巻もやはり買ってしまった。)
目次を眺めると、クラスの抽出方法や、オブジェクト指向の教育方法など、
思わず引き込まれる魅力的なセンテンスが並んでいる。

期待を裏切らないというのは、「やっぱりね」という意味で、
やはりそこに銀の弾丸は無い。
しかし、これだけのボリュームで、
オブジェクト指向技術に対する首尾一貫したアプローチを保った
(つまり、エッフェルの理念のという)
詳細な論文は、他には有り得ず、これからも出ないだろうと思う。

まだ理解不能なところも多々あるが、
メイヤーの悪ふざけも含めて、長い時間をかけて「楽しめる」本である。
そもそも、「入門」というのは悪ふざけではないかと思うのだが、どうなのだろうか?

メイヤーのSmalltalk評を、ケイが読んだらなんと言うのか訊いてみたい。
Javaの評価が思いのほか高いと思った。

内容的には多少古い点があるかと思うが、
普遍的であるという点で、最高の評価をつける。
オブジェクト指向開発の手法であるメイヤー法(別名OOSC法、旧名Eiffel法)です。一応、辞書読みしてます。何度か開く機会があり、回答をいただきました。他手法に対しても、長所短所を記載しています。
フランスの大学教授が数十年間分析してまとめた本である。深すぎて理解不能である。
良かったが、原則・コンセプト編ほどではなかった。まず、原則・コンセプトを完全に理解したい。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
【累計7刷りのロングセラー】
時代を超越したプログラミングの基本原則


本書はロバート・C・マーチン(愛称、ボブおじさん)が世に送り出した
『Agile Software Development』の邦訳書(Java版)です。
本書は優れたIT系書籍に送られる「Jolt Award」を受賞し、
発売以来いまだにアメリカのAmazonでもトップセールを続けている
「アジャイルソフォトウェア開発」の不屈の名作であり、バイブルです。

もはやソフトウェア開発業界で「アジャイル開発」という言葉を知らない人はいないでしょう。
著者は、アジャイル開発の歴史的な出発点となる
「アジャイルソフトウェア開発宣言」の生みの親の一人であり、
さまざまな国際会議やドレードショーなどでレギュラースピーカーを務める
「アジャイルソフトウェア開発」の大御所です。
『Clean Coder プロフェッショナルプログラマへの道』
『Clean Code アジャイルソフトウェア達人の技』
などの著者としても知られている、一級の教育者でもあります。

アジャイルソフトウェア開発は、めまぐるしく変化する仕様要求にさらされながらも、
迅速にソフトウェアを開発する能力をあたえてくれます。
こうしたアジャイル性(俊敏性)を達成するためには、
規律とフィードバクを与えてくれるプラクティス(実践法)が必要です。
また、柔軟性と保守性を兼ね備えた設計をするための基本原則や、
特定の問題にこういった原則をバランス良く利用するためのデザインパターンを理解している必要があります。

本書は、上記3つのコンセプトをすべて縫い合わせ、
一つにまとめるという前人未到の究極の試みを見事にやってのけています。
この美しく織り成された世界観には感動すら覚えます。
これは、自らの経験をもって著者が到達した1つの究極の境地、「奥義」だといえるでしょう。
「アジャイルソフトウェア開発」の創始者直伝の本書を手にした読者の方は、
師匠から奥義を授かり、巨人の肩に乗りその一歩先に進むことができるはずです。
 
内容サンプル
 
User Voice
ある程度、ソフトウェア開発を行っている方は、ぺらぺらとめくって見て下さい。見るページ全てが示唆に富んでおり、とても歯ごたえがあります。ページ数も半端ないので、全てを理解して読み終えるのにはかなりの時間がかかりますが、それに見合うだけの知識が得られます。

但し、丁寧に書かれてはいますが、やや読みにくい文体です。実際に目の前にすると、その分量に圧倒されます。
私はC#をメインでやってますが、Javaのコーディング例でも十分理解できます。また、原則やプラクティスのほとんどは、そのままC#でも通用します。

現在のプログラミング環境は、言語が何かというレベルを超えて、使用するフレームワークに強く依存する事が多い(ASP.NET MVCやGlassFishなど)ため、そういう点では具体例に乏しいと感じる可能性はあります。そうであったとしても、この本に示されている内容は知っておくべきでしょう。
わりかし古い本ではありますが、今でも流しで読むことはあります。
開発者ならご存知だとは思いますが、実際の現場では厳格なオブジェクト指向で書かれたコードはほとんど存在しないです。それは時間やお金の面だったり、そもそもOOPとシステムの相性が悪いなど、仕方のないことです。

ただ知っているけどあえてやらないと、知らなくてやらないは意味が全く違います。
ふとした時に、そういえばここら辺のコード整理できそうだけど、どんなパターンがあったっけ?という時に私は辞書を引くような感覚で今でもたまに使っています。
まだ読み始めたばかりですが、すごくためになります。第2部は読んでいて面白いと思えます。ただ一つの難点は、内容とは関係ないのですが、表紙を動かすと「キュッキュッ」という、私にとっては生理的に耐えられない音がします。これは苦痛です。そのため星4つとしました。内容とは関係ありません。

「追記」
表紙に張り付いている紙をはがしたら音は出なくなったので5としました。
 
   
本書の内容
本書は Perl によるリファレンス、モジュール、パッケージ、オブジェクト指向の解説書です。これらを習得するには、どの言語を用いても独特な感覚が必要となりますが、本書では軽量言語 Perl をプラットフォームに選ぶことで、やさしく、楽しく学べることを目指しています。また、本書を通読することで、小さいプログラムを作るのと同じ労力で、大きなプログラムを簡単に作れるようになることを目的としています。

本書のサンプルファイルは以下のサイトからダウンロードできます。

技術評論社刊『すぐわかるオブジェクト指向Perl』公式サポートページ
http://www.supee.jp/sop/  
内容サンプル
 
User Voice
Spidering Hacks をつかいこなしたくて、Perlの勉強を始めました。
ですが、いろんな本を読んでももやもやするばかりでよくわかりませんでした。
それでいろいろ探し回ったところこの本の前著すぐわかるPerlにたどり着きました。
その後にこの本を読んでから、やっと他に買い漁ったPerlの入門書がわかるように笑。
本当にありがとうございましたという感謝感謝の本です。
すぐわかるPerlを読んでからこれを読んだんですがそれぞれ10回くらいは読んだかな?
おかげさまで今ではPerlを使って大量のファイル処理が簡単にできるようになりました。
これまでサイト製作にはドリームウィーバーを使っていましたが面倒なタグつけはディレクトリーごとぜーんぶPerlで一括処理です。
もうPerlなしのサイト製作は想像もできないです。
さらにうれしいことにはWEBのデータもPerlで処理できるようになりました。
レポートを定時に吐かせるプログラムは感動します。
泣けます。
さよならエクセル・・・(いや、使うけど)
なお、エクセルのデータはハッシュにして一括処理です。
エクセルでは例えば2つのファイルを同時に処理したい、3つのファイルを同時に処理したいという時、ひとつにまとめてあくせくがんばっていました。
でもPerlを使ったらそんな苦労とさようならでした。
いくつファイルがあっても問題なくひとつのプログラムで処理できます。
ファイル処理ならPerlです。
本当に役に立ちます。
思いっきり大変で私はここまでくるのに6ヶ月かかりました。
でも、その甲斐があったなーと思っています。
これから学ぶ皆さんもぜひがんばってください!
この本はPerlを学ぶなら絶対お勧めです!
この本は内容の解説もさることながら、書籍の構成がしっかりと練られている点に好感を持った。

オブジェクト指向の解説がメインなので、基本中の基本についてはさらっと触れられている程度。といっても、Perlをインストールして、なんでもいいから1〜2行スクリプト書いて実行できる程度の人なら、十分読み進められると思う。
オブジェクト指向についても、「オブジェクトとは箱で」といったおなじみの抽象的な説明ではなく、サンプルのコードで具体的に解説されている。並行して自分で書いたスクリプトをブラッシュアップさせていくと、より理解が深められるだろう。

読み終わったら、次は『Perl CPANモジュールガイド』がおすすめ。
http://www.amazon.co.jp/gp/product/486267108X/
perl におけるオブジェクト指向プログラミングの基礎をじっくりと丁寧に解説しています。
特にリファレンスのくだりは本当にしつこいくらい。
書籍の中では、まず行く先を明示して、簡単なサンプルを提示し、解説を加える。
という手順を丹念に繰り返して、初心者の躓きを出来る限り救おうとする著者の姿勢がはっきりと表れています。
perlでのオブジェクト指向初心者にお薦めの書籍。
 
   
本書の内容
本書は、JavaやC#を知っている読者を対象に、オブジェクト指向の基礎と応用を解説するものです。
再利用ができ、堅牢で、拡張可能な本格的オブジェクト指向ソフトウェアを分析し、設計し、書くことができるようになることを本書の目標としています。
柔軟なアプリケーションを作るためにカプセル化や委譲など、オブジェクト指向の原則を取り入れます。
またコードの再利用を促すための開放閉鎖原則(OCP)や単一責任原則(SRP)適用について解説します。
オブジェクト指向の原則、デザインパターン、さまざまな開発手法を、オブジェクト指向分析設計プロジェクトのライフサイクルに適合させる方法も学びます。

複雑な概念を脳に記憶させるため、図やイラスト、また登場人物に物語を持たせるなどさまざまな工夫を施した本書は、最短の時間で最大の効果をあげることができます。  
内容サンプル
 
User Voice
本書はオブジェクト指向分析設計手法の入門書です。
これまでオブジェクト指向のメリットにあやかりたいと他の名著を読んでみましたが、明日の仕事に役立つ知識はなかなか得られませんでした。
本書を読んでようやく「どう組み合わせて役立てれば良いか」が理解できました。

一般的に知識は手を動かさないとなかなか習得できません。本書はその点に注目し少しずつ段階的に知識を身につけることができます。
eclipse等のJAVA開発環境を準備して実際にコードを書きながら読み進めて下さい。C#ができる人も問題無いと思います。
ユースケースやUMLが実際にどのように役に立つか悩んでいる方にもお勧めします。

本書は基本的に3つのステップで進行します。ソフトウェアが良い方向に成長していく姿は作っていて楽しいものでした。
1.顧客の要望を満たす最低限のソフトウェアを作成する。
2.オブジェクト指向の原則を利用して柔軟性を高める。
3.保守と再利用が可能で変更に強いソフトウェアを作成する。

本家HPでは内容の大部分が公開されています。英語が得意な方は参考にして下さい。
[...]

網羅的で詳細な名著は沢山ありますが、手を動かして習得でき、すぐに知識が使えるようになれる本はあまり見かけません。
「これまで本を読んできたけれど今ひとつ手ごたえを感じていない方」には特にお勧めです。
ソフトウェアの要件定義と設計に関して、特にオブジェクト指向設計について悩んでいたので本書を読んでみた。この手の本は通常、取り上げられている例が一般的過ぎるか理想的過ぎて、即実務に使えるというものはなかなかないのだが、本書は例も具体的で、厚さの割にあっという間に読めてしまった。

要件(フィーチャ)のまとめ方、UML図、ユースケースといった設計段階で必要な技術・知識から、委譲、カプセル化、コンポジション、ポリモーフィズムといったオブジェクト指向の基礎、テスト、リスク分析といったソフトウェアに欠かせない事柄がよく理解できた。しかも、読者はJavaの基本的な知識さえあればOKというのも嬉しい。
海外のエンジニアから薦められて読みました。
こんなので有益な知識が得られるのか?と思いましたが、内容は真面目です。
自分は初学者ではありませんが、この本から得るものはそれなりにありました。
風変わりなレイアウト構成とは裏腹に、内容は最新のオブジェクト指向分析・設計の
スタンダードとなっているアプローチを忠実に説明しています。

この本の良い点は下記です。
・何度も言葉や視点を変えて説明するという方法が取られており、記憶に残ること
・難しい内容をわかりやすく簡潔に説明しており、気楽に読めること
・1ページ(か見開き)で説明することは1つだけというスタイルを貫いていること

リファレンスとしては使えず、1度読んだら本棚に眠ってしまうタイプですので、
コストパフォーマンスを考えて4点にしましたが、とてもわかりやすく内容も
すばらしいので、理解するために読むには最適です。
 
   
本書の内容
 
内容サンプル
 
User Voice