購入オプション

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません 。詳細はこちら
Kindle Cloud Readerを使い、ブラウザですぐに読むことができます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
増補改訂版 Java言語で学ぶデザインパターン入門 Kindle版
※この商品には、以下の新版があります。
Java言語で学ぶデザインパターン入門第3版
※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。
※この電子書籍には付録DVDのデータは含んでおりません。電子書籍に記載のURLからPCでダウンロードしてお使い下さい。
「この本で初めてデザインパターンが理解できた」「UMLとイラストを交えた解説がとてもわかりやすい」と、多くの読者から絶賛された大ロングセラーの増補改訂版。原典『デザインパターン』で紹介された全23のパターンを、Javaによる実装を含めて解説。
2001年6月の初版刊行以来、「最もわかりやすいデザインパターン解説書」と、多くの読者から支持されてきた前著の増補改訂版です。改訂にあたっては、前著の内容を全面的に見直して、文章や表記をより適切な表現に改めています。また、デザインパターンについて、読者が誤解しやすい点、間違いやすい点を、「Q&A」として追加しています。デザインパターンについて学び、実践で利用したいプログラマはもちろん、オブジェクト指向の本質を理解したい人に最適の1冊です。
●目次
はじめに
UMLについて
デザインパターンを学ぶ前に
デザインパターンに慣れる
第1章 Iterator ― 1つ1つ数え上げる
第2章 Adapter ― 一皮かぶせて再利用
サブクラスにまかせる
第3章 Template Method ― 具体的な処理をサブクラスにまかせる
第4章 FactoryMethod ― インスタンス作成をサブクラスにまかせる
インスタンスを作る
第5章 Singleton ― たった1つのインスタンス
第6章 Prototype ― コピーしてインスタンスを作る
第7章 Builder ― 複雑なインスタンスを組み立てる
第8章 Abstract Factory ― 関連する部品を組み合わせて製品を作る
分けて考える
第9章 Bridge ― 機能の階層と実装の階層を分ける
第10章 Strategy ― アルゴリズムをごっそり切り替える
ほか
固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。
■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用
■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
- 言語日本語
- 出版社SBクリエイティブ
- 発売日2004/6/18
- ファイルサイズ265962 KB
商品の説明
著者からのコメント
内容(「BOOK」データベースより)
出版社からのコメント
内容(「MARC」データベースより)
--このテキストは、jp_oversized_book版に関連付けられています。
登録情報
- ASIN : B00I8ATHGW
- 出版社 : SBクリエイティブ (2004/6/18)
- 発売日 : 2004/6/18
- 言語 : 日本語
- ファイルサイズ : 265962 KB
- Text-to-Speech(テキスト読み上げ機能) : 有効になっていません。
- X-Ray : 有効にされていません
- Word Wise : 有効にされていません
- 本の長さ : 528ページ
- Amazon 売れ筋ランキング: - 76,631位Kindleストア (の売れ筋ランキングを見るKindleストア)
- - 3,029位コンピュータ・IT (Kindleストア)
- - 6,472位コンピュータ・IT (本)
- カスタマーレビュー:
著者について

結城浩 1963年生まれ。
プログラミング言語、デザインパターン、暗号、数学などの分野で入門書を執筆。最新作は『数学ガール』シリーズ。J.S.バッハの「フーガの技法」が大好きな、プロテスタントのクリスチャン。2014年度日本数学会出版賞受賞。
Twitter: https://twitter.com/hyuki/
メールマガジン: https://bit.ly/hyuki-mm
note(ノート): https://mm.hyuki.net/
ホームページ: https://www.hyuki.com/
著書一覧
2020年『数学ガールの秘密ノート/確率の冒険』
2020年『数学ガールの秘密ノート/複素数の広がり』
2019年『数学ガールの秘密ノート/学ぶための対話』
2019年『数学ガールの秘密ノート/ビットとバイナリー』
2019年『C言語プログラミングレッスン入門編 第3版』
2018年『数学ガールの秘密ノート/行列が描くもの』
2018年『数学ガール/ポアンカレ予想』
2018年『プログラマの数学 第2版』
2017年『数学ガールの秘密ノート/積分を見つめて』
2016年『数学ガールの秘密ノート/やさしい統計』
2016年『数学ガール/ゲーデルの不完全性定理』英語版 "Math Girls 3: Goedel's Incompleteness Theorems"
2016年『数学ガールの秘密ノート/場合の数』
2015年『数学ガールの秘密ノート/ベクトルの真実』
2015年『暗号技術入門 第3版 秘密の国のアリス』
2015年『数学ガールの秘密ノート/微分を追いかけて』
2014年『数学文章作法 推敲編』
2014年『数学ガールの秘密ノート/数列の広場』
2014年『数学ガールの秘密ノート/丸い三角関数』
2013年『数学ガールの秘密ノート/整数で遊ぼう』
2013年『数学ガールの誕生 理想の数学対話を求めて』
2013年『数学ガールの秘密ノート/式とグラフ』
2013年『数学ガール フェルマーの最終定理(3)』コミックス(原作)
2013年『数学文章作法 基礎編』
2012年『数学ガール/フェルマーの最終定理』英語版 "Math Girls 2: Fermat's Last Theorem"
2012年『Java言語プログラミングレッスン第3版(上巻)』
2012年『Java言語プログラミングレッスン第3版(下巻)』
2012年『数学ガール/ガロア理論』
2012年『数学ガール フェルマーの最終定理(2)』コミックス(原作)
2012年『数学ガール ゲーデルの不完全性定理(2)』コミックス(原作)
2011年『数学ガール』英語版 "Math Girls"
2011年『数学ガール/乱択アルゴリズム』
2011年『数学ガール フェルマーの最終定理(1)』コミックス(原作)
2011年『数学ガール ゲーデルの不完全性定理(1)』コミックス(原作)
2009年『数学ガール/ゲーデルの不完全性定理』
2009年『数学ガール(下)』コミックス(原作)
2008年『数学ガール/フェルマーの最終定理』
2008年『数学ガール(上)』コミックス(原作)
2008年『新版暗号技術入門――秘密の国のアリス』
2007年『数学ガール』
2007年『Java言語で学ぶリファクタリング入門』
2006年『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』
2006年『新版Perl言語プログラミングレッスン入門編』
2006年『新版C言語プログラミングレッスン文法編』
2006年『新版C言語プログラミングレッスン入門編』
2005年『改訂第2版Java言語プログラミングレッスン(上巻)』→2012年『第3版』
2005年『改訂第2版Java言語プログラミングレッスン(下巻)』→2012年『第3版』
2005年『プログラマの数学』
2004年『増補改訂版Java言語で学ぶデザインパターン入門』
2004年『結城浩のWiki入門――YukiWikiではじめる みんなで作るWebサイト』
2003年『改訂版Java言語プログラミングレッスン(上巻)』→2005年『改訂第2版』
2003年『改訂版Java言語プログラミングレッスン(下巻)』→2005年『改訂第2版』
2003年『暗号技術入門――秘密の国のアリス』→2008年『新版』
2002年『結城浩のPerlクイズ』
2002年『Java言語で学ぶデザインパターン入門マルチスレッド編』→2006年『増補改訂版』
2001年『Perl言語プログラミングレッスン入門編』→2006年『新版』
1999年『Java言語プログラミングレッスン(上巻)』→2003年『改訂版』
1999年『Java言語プログラミングレッスン(下巻)』→2003年『改訂版』
1998年『改訂第2版C言語プログラミングレッスン入門編』→2006年『新版』
1998年『Perlで作るCGI入門基礎編』
1998年『Perlで作るCGI入門応用編』
1996年『新版C言語プログラミングのエッセンス』
1995年『C言語プログラミングレッスン文法編』→2006年『新版』
1994年『C言語プログラミングレッスン入門編』
1993年『C言語プログラミングのエッセンス』
『数学ガール』のイメージビデオは、曲:よよだいんさん、動画:myuさんによるものです(許諾済み)。
この商品を見た後に買っているのは?
カスタマーレビュー

上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
もうちょっと効率的なコード設計をしたいと考えるJavaの中級者以上が読むべき本だと思います。
中級者ならば、実務において無意識にデザインパターンを使っているケースもあるので、
「あれ?このパターンよく使うぞ。これってデザパタだったんだー。へー」となることうけあいです。
しかし、この本では、各デザインパターンについて、
実務において具体的にどのような使われ方がされるのかはまったく語られておらず、
完全に読者に丸投げにしているので、デザパタ初学者にはかなりハードルが高いと思います。
正直、ストラテジーパターンで、じゃんけんの例を出すとか、実務にはまったく活用できない例だし、
実務への発想も湧かないくだらないコード例ばかりを引き合いに出していてまったく役に立ちません。
おそらく筆者自身が、デザインパターンの実務における活用方法をよくわかっていないせいです。
なので、この本は、デザインパターンについてまともな解説ができる実務経験のある講師さんがいて初めて活用できる本だと思います。
私なら、シングルトンパターンの説明ならば、
日付などのオブジェクトは、システム上ではあちらこちらで勝手に生成されるのは困る(タイムスタンプがズレたり、問題が起きる)ので、
システム上で一意で生成させ、保証する必要があるから、シングルトンを使うべきだよ・・・と具体的にソースも提示して、実務にも通ずる例で説明をしていきますが、
この本の作者は単にデザインパターンだけをすべて網羅し、実務には一切通用しないくだらないコード例だけを書いておけばよいと考えているようなので、評価に値しない本なんですよ。
だから、デザインパターン初学者にとって、とっつきにくい本だと思われちゃってるわけなんです。
改定版を出すなら、実務例を充実させないとだめだよ、結城さん。
ただしjavaという言語に触れたことのない方が読んで理解するのは難しいと思います。そのような方はこの本の作者である結城浩先生が書かれた,"Java言語プログラミングレッスン"の上下巻を読んでからこの本に入った方がよいかもしれないです。私がそうでしたがプログラミングを多少やっている方ならサクサク読み進めることができます。
例えば、次のような内容。
■処理などの振る舞いに関するデザインパターン11個:
①Iterator(1つ1つ数え上げる)、②Template Method(具体的な処理をサブクラスに任せる)、③Strategy(アルゴリズムをごっそり切り替える)、④Visitor(構造を渡り歩きながら仕事をする)、⑤Chain of Responsibility(責任のたらい回し)、⑥Mediator(相手は相談役1人だけ)、⑦Observer(状態の変化を通知する)、⑧Memento(状態を保存する)、⑨State(状態をクラスとして表現する)、⑩Command(命令をクラスにする)、⑪Interpreter(文法規則をクラスで表現する)
■クラスやオブジェクトの構造に関するデザインパターン7個:
①Adapter(一皮かぶせて再利用)、②Bridge(機能の階層と実装の階層を分ける)、③Composite(容器と中身の同一視)、④Decorator(飾り枠と中身の同一視)、⑤Facade(シンプルな窓口)、⑥Flyweight(同じものを共有して無駄をなくす)、⑦Proxy(必要になってから作る)
■クラスやオブジェクトの生成に関するデザインパターン5個:
①Factory Method(インスタンス作成をサブクラスにまかせる)、②Singleton(たった1つのインスタンス)、③Prototype(コピーしてインスタンスをつくる)、④Builder(複雑なインスタンスを組み立てる)、⑤Abstract Factory(関連する部品を組み合わせて製品を作る)
原書は読んでいないため、比較はできないが、各パターンの役割と使われ方をざっと把握するには良かったと思う。
最も一番良いのは、Kindleで読めるので分厚い本を持ち歩かなくて済むということ。
ただ、固定レイアウトのため、気になる部分をメモできないのは残念。
内容については、実装経験が増えてきたら、より理解が深まる部分もあると思うので、継続して学習していきたい。
特に、既存のプログラムの保守や拡張をするとき、既存のプログラムがデザインパターンを利用しているかどうか見分けて、そのパターンの意図を理解できないといけません。
逆に、パターンを知っていると、コード内にパターンを示す命名や使われていたり、コメントが残されていると、それだけで何をしているコードなのか理解も推測もしやすいです。
この本はまずパターンを利用するプログラム例を解説し、その後で抽象的な説明となっています。
例えば、じゃんけんシミュレーター、WEBアプリのようなHTML吐き出しプログラム、最終的にはお絵かきアプリ。
これがアプリ実装部分が長くて、写経したり確認のために読んでるとスパッと構造が頭に入ってきません。
パターンのクラス図も掲載されてますが、どこから使うのかなどはパターンとは切り離れているケースが多々あります。
するとやはりパターン例のコード、並びにメイン関数に目を通すことになります。
著者曰く、オブジェクト指向では「1クラス1機能」とのことです。
この書籍はデザインパターンを学ぶという要素の他に、アプリ作成を楽しむという要素を入れたせいで分かり難くなっていると思います。
1冊に2要素入れてしまったという解釈です。
その点では書籍としてはオブジェクト指向ではないんだなと感じました。
もっと薄くて一回り小さな版サイズで端的に説明されてる本があれば、それも読んだ方が良いと思います。
少なくとも実際に経験を積んで、後から読み返す上ではそう思います。
読後感としては、有名な本を頑張って読んだという充実感をデザインパターンの理解と錯覚するような事態に陥らなければ良いなと祈願します。
星は減らしませんが、私にとっての難点はコード例がJavaコードであったこと。Javaもわからなくはありませんが、使っている言語がC++であった為、コード例は 独習デザインパターンC++ を参照しました。
両書籍により、デザインパターンを深く理解することができたと思います。著者には感謝しかありません。
なお、こちらも星は減らしませんが、Kindleはリフロー版ででるとマーカー等使えますので良かったと思います。(プログラム関連のKindle書籍はリフロー版ではないと、読んでいて効率が悪いと個人的には考えます)