Java 言語で学ぶデザインパターン入門第 3 版(ジャバゲンゴデマナブデザインパターンニュウモン ダイサンパン)
- 著者:
- 結城 浩(ユウキ ヒロシ)
- 出版社:
- SBクリエイティブ
- 出版日:
- 2021年11月16日頃
- ISBN:
- 9784815609801
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
■『 Java 言語で学ぶデザインパターン入門 第 3 版』について
本書は、オブジェクト指向プログラミングにおいて古典的な 23 個のデザインパターンを、 Java 言語で書かれた短いサンプルプログラムと UML を使い、オブジェクト指向プログラミングの初心者にもわかりやすく解説した技術書です。
2001 年に初版が刊行されて以来、「最もわかりやすいデザインパターン解説書」「オブジェクト指向プログラミングとデザインパターンを学ぶ定番の一冊」と数多くの読者、技術者から支持されてきました。 2004 年には増補改訂版が刊行され、 2020 年には第 31 刷まで達するという人気のロングセラーとなっています。
しかし、 Java 言語は大きく進化しています。そこで第 3 版となる本書では、書籍の基本的構造と解説のわかりやすさはそのままに、扱っているサンプルプログラムを現代の Java 言語に合わせて一新し、オブジェクト指向プログラミングとデザインパターンを身につけたいと思う技術者が、なおいっそう学びやすいように改訂を行いました。
結城浩 1963 年生まれ。
プログラミング言語、デザインパターン、暗号、数学などの分野で入門書を執筆。
代表作に、『数学ガール』 シリーズ、『暗号技術入門』などかある。
J.S.バッハの「フーガの技法」が大好きな、プロテスタントのクリスチャン。
2014 年度日本数学会出版賞受賞。
技書の森解説
GoF の 23 パターンを学ぼうとして原典の『 Design Patterns 』を開き、抽象度の高さに挫折した経験がある人は多いはずです。本書は結城浩氏がその 23 パターンを Java のサンプルコード付きで一つずつ解きほぐし、パターンの意図と構造を「動くコード」を通じて理解させてくれる定番書です。
特徴は、各パターンに UML クラス図と具体的な Java コードの両方を付け、さらに「どういう場面で使うのか」「使わないとどうなるのか」を平易な文章で添えている点にあります。多くの読者が GitHub 上で写経しながら学んでいることからも分かるように、手を動かして体で覚える読み方に適した構成です。第 3 版では Java の言語仕様の進化に合わせてコードが刷新されています。
オブジェクト指向の基本文法 (クラス、継承、インタフェース) を理解していれば読み始められますが、実務で「なぜこの設計にするのか」が腑に落ちるのは、ある程度コードを書いた経験を積んだ後です。入門書であると同時に、経験を重ねるたびに読み返す価値が増す設計の参考書でもあります。
言及 Qiita 記事 (32 件)
ChatGPTを最強の学習ツールにする方法
♡ 1936ツール, AI, 学習, ChatGPT, 記事投稿キャンペーン_ChatGPT新人さんにすすめる有益な技術書達 2022春
♡ 528読書, まとめ, 新人プログラマ応援SE 1年目で読んだ技術書68冊+α
♡ 275Java, 初心者, 技術書, Seプログラマーを惑わせる3種類の委譲(委譲・Delegation/転送・Forwarding/.NET Delegates)
♡ 230JavaScript, C#, デザインパターン, 委譲, 移譲DDD関連書籍メモ
♡ 134Java, DDD, ドメイン駆動設計iOSアプリ開発の現場で訊いてみた!Wantedly/Siori編
♡ 101iOS, iOSアプリ開発の現場で訊いてみたPythonで、デザインパターン「Singleton」を学ぶ
♡ 85Python, デザインパターン, GoFゲーム制作するUnityエンジニアのオススメ本
♡ 63Unity, 初心者, ゲーム制作, ゲーム開発, 数学やり直しJEITAソフトウェアエンジニアリング技術ワークショップ2020「プログラミング言語の進化と未来」開催報告
♡ 56Ruby, Go, Rust, プログラミング言語, オブジェクト指向プログラミングJavaから職業プログラマをスタートするプログラミング初心者に読んでほしい技術書たち(2017年版)
♡ 54Java
この本に興味がある方におすすめ
この本に関連
結城 浩 の他の書籍
関連記事
関連用語
デザインパターン
ソフトウェア設計で繰り返し現れる問題に対する再利用可能な解決策のカタログ
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
プログラミング
コンピュータに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
Proxy パターン
オブジェクトへのアクセスを代理オブジェクトが仲介し、アクセス制御やキャッシュなどの付加機能を提供するパターン
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
Null Object パターン
null チェックの代わりに、何もしないオブジェクトを使って条件分岐を排除するデザインパターン