Head First デザインパターン 第 2 版

ヘッドファーストデザインパターンダイニハン

頭とからだで覚えるデザインパターンの基本

Head First デザインパターン 第 2 版の表紙
プログラミング
著者:
Eric Freeman / Elisabeth Robson / 佐藤 直生 / 木下 哲也(エリック フリーマン / エリザベス ロブソン / サトウ ナオキ / キノシタ テツヤ)
出版社:
オライリー・ジャパン
出版日:
2022年06月08日頃
ISBN:
9784873119762
在庫:
在庫あり
5(4 件 / 楽天ブックス)
初級者向け
プログラミングJavaデザインパターンオブジェクト指向入門書ビジュアル学習ソフトウェアエンジニアリングコードリファクタリングソフトウェア設計Head First シリーズ

なぜ注目されているか

言及数
281位
総合524位 ↑ 4 ランクアップ 言及 11 件・うち記事 10 件を掲載
出版前出版日02320222023202420252026

書籍紹介

ビジュアルで学ぶデザインパターン。ロングセラー待望の改訂版!
2005 年の発刊以来、15 年にわたって売れ続けている定番の待望の改訂版です。イラストや写真、会話調の説明を使ってわかりやすく解説する人気の Head First シリーズのデザインパターン版で、入門書として不動の人気を誇っていますが、このたび Java のバージョンアップや現在の状況に合わせて全面的にアップデート。第 1 版と同様に、抽象的でわかりにくい概念も、豊富なイラストや、身近なもののたとえで難なく理解でき、例題を通して、オブジェクト指向プログラミングの考え方を身につけることができます。

技書の森解説

オブジェクト指向設計の定番カタログである GoF のデザインパターンを、イラストや写真、会話調の説明、クイズやパズルで体得させる入門書が『Head First デザインパターン 第 2 版』 (Eric Freeman、Elisabeth Robson 著、佐藤直生 監訳、木下哲也 訳、オライリー・ジャパン発行 / オーム社発売、2022 年 6 月刊) です。副題は「頭とからだで覚えるデザインパターンの基本」で、原書は Head First Design Patterns, 2nd Edition、2005 年に発刊された初版の改訂版にあたります。版元は対象読者として初学者、過去に挫折した経験のある方、知識を確固たるものにしたい方の 3 つを挙げ、デザインパターンを先人たちの知恵と経験の結晶と位置づけて、頻繁に起こる問題とその対応策を体得することを本書の狙いとしています。

全 14 章の構成、SimUDuck から付録の残りのパターンまで

構成は全 14 章で、第 14 章は「付録: 残りのパターン」です。1 章「デザインパターンへようこそ」はカモのシミュレーションアプリ SimUDuck を題材に、継承やインタフェースで振る舞いを追加しようとして事態が悪化する過程を追い、不変な部分から変化する部分を分離する、「HAS-A」は「IS-A」より優れている場合がある、という考え方と共有パターンボキャブラリの威力へ導きます。2 章以降は 1 章 1 パターンを基本にした各論で、気象観測アプリケーションを題材にした Observer パターン、コーヒーショップ (スターバズコーヒー) を題材にした Decorator パターン と開放/閉鎖原則、Factory、Singleton、Command、Adapter と Facade、Template Method、Iterator と Composite、State、Proxy と進みます。12 章「パターンのパターン: Compound パターン」では複数のパターンを組み合わせる例として MVC (モデル/ビュー/コントローラ) をパターンの集まりとして理解し、その中で Strategy パターン を探究する節が置かれています。13 章はデザインパターンの定義、パターンを体系化する視点、アンチパターンの弊害といった実世界での使い方を扱い、14 章の付録では Bridge、Builder、Chain of Responsibility、Flyweight、Interpreter、Mediator、Memento、Prototype、Visitor の 9 パターンを紹介します。

イラストとクイズで GoF を体得する Head First 方式

版元は本書の紙面を、GoF の真髄を理解するため、教育心理学に基づきビジュアルを重視したレイアウト、文体、クイズやパズルを随所に盛り込んだものと説明しています。抽象的でわかりにくい概念も、豊富なイラストや身近なもののたとえで理解でき、例題を通してオブジェクト指向プログラミングの考え方を身につけられる、というのがシリーズ第 1 版から続く方針です。デザインパターン の学習で難しいのは、パターンの構造図を覚えることではなく、どんな問題が起きたときにその構造へ行き着くのかという動機を自分の設計判断に結びつけることです。1 章の SimUDuck のように、素朴に作ったものが要件の追加で悪い方向に進み、そこから原則を立てて構造を組み替えるという順序で読ませる運びは、パターンを解決策の名前ではなく、変化に耐えるための判断の型として記憶させる点に効き目があります。目次を見ると、2 章の気象観測アプリケーション、3 章のスターバズコーヒーと、各章が具体的な題材から始まる構成が続いており、1 章で示された不変な部分から変化する部分を分離する発想は、以降の章で題材を変えながら繰り返し現れる本書全体の背骨です。

Java の例題と、第 2 版でのアップデート

例題の言語は Java で、目次にも Java の Iterable インタフェース、Java の拡張 for ループ、Java API の Proxy を使った保護プロキシといった Java 固有の項目が並びます。前提知識としてはクラス、インタフェース、継承といったオブジェクト指向言語の基本文法が読める水準が必要ですが、パターンそのものはクラスとインタフェースを持つ言語であれば読み替えが利くため、Java 以外を主戦場にする人でも設計の考え方を吸収する目的では十分に読めます。第 2 版については、版元が Java のバージョンアップなどに合わせて全面的にアップデートしたと案内しており、初版 (ISBN 9784873112497) からの買い替えを検討する人はこの点が判断材料になります。どの言語機能がどう変わったかの明細は版元案内には示されていないため、細部は書店や版元の試し読みで確認するのが確実です。

著者と監訳者の背景、向かない人

書店掲載の書誌 (出版社提供 / 刊行時点) によれば、Eric Freeman は計算機科学者でイェール大学で博士号を取得し、ウォルト・ディズニー・カンパニーのディズニーオンラインの元最高技術責任者 (CTO)、Head First シリーズを共同で指揮し WickedlySmart で印刷物やビデオコンテンツの作成に専念していると紹介されています。Elisabeth Robson はソフトウェアエンジニア、著者、指導者で、イェール大学で計算機科学の理学修士を取得し、WickedlySmart の共同設立者、以前は O'Reilly Media の特別プロジェクトのディレクタとして対面式ワークショップやオンラインコースを企画したとあります。監訳の佐藤直生は日本オラクル株式会社で Java EE アプリケーションサーバやミドルウェアのソフトウェアエンジニア / テクノロジーエバンジェリストとしての経験を経て、刊行時点では Microsoft Corporation で Microsoft Azure のソフトウェアエンジニアとして活動、訳の木下哲也は 1991 年に松下電器産業株式会社に入社して全文検索技術などの研究開発に従事し、2000 年に退社して IT 関連の技術書の翻訳、監訳に従事していると紹介されています。向かないのは、GoF の原典のように簡潔な参照用カタログを手元に置きたい人です。会話調と図版で紙面を厚く使う本書は、必要なパターンだけを引く用途には遠回りになります。また設計原則を日常的に使い分けている中級者以上には、物語の運びが冗長に感じられる可能性があります。

元が取れるのは、パターン名は聞いたことがあるのに自分のコードでいつ使うのか判断できない人、原典や簡潔な解説書で一度挫折した人、そしてチームで設計を議論するための共有ボキャブラリを身につけたい人です。SimUDuck から MVC まで 14 章を通して読むと、要件変更で壊れるコードを見たときに、変化する部分を分離して振る舞いを差し替えるという手が自然に浮かぶようになり、コードレビューでパターン名を使って意図を伝えられるようになります。オブジェクト指向設計の基礎を腰を据えて固めたい人にとって、第 2 版として 2022 年に整えられた本書は、最初に選ぶ 1 冊として堅実です。

言及した記事 (10 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: