Java言語で学ぶデザインパターン入門


2015_10_java_design
  • 目次
  • はじめに
  • 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 ― アルゴリズムをごっそり切り替える
  • 同一視
    • 第11章 Composite ― 容器と中身の同一視
    • 第12章 Decorator−飾り枠と中身の同一視
  • 構造を渡り歩く
    • 第13章 Visitor ― 構造を渡り歩きながら仕事をする
    • 第14章 Chain of Responsibility ― 責任のたらい回し
  • シンプルにする
    • 第15章 Facade ― シンプルな窓口
    • 第16章 Mediator ― 相手は相談役1人だけ
  • 状態を管理する
    • 第17章 Observer ― 状態の変化を通知する
    • 第18章 Memento ― 状態を保存する
    • 第19章 State ― 状態をクラスとして表現する
  • 無駄をなくす
    • 第20章 Flyweight ― 同じものを共有して無駄をなくす
    • 第21章 Proxy ― 必要になってから作る
  • クラスで表現する
    • 第22章 Command ― 命令をクラスにする
    • 第23章 Interpreter ― 文法規則をクラスで表現する
  • 付録A 練習問題の解答
  • 付録B サンプルプログラムの実行手順
  • 付録C GoFによるデザインパターンの分類
  • 付録D デザインパターンQ&A
  • 付録E 参考文献

  • 学習ログ

学んだこと

  • デザインパターンとは、について
  • オブジェクト指向プログラミングの楽しさ
  • EffectiveJavaに通じるところがある
  • 実際に現場で口にされるパターンは限りがある
    • フレームワーク(Struts2やSpringなど)がうまいようにやってくれているので…
    • フレームワーク内で様々なパターンを使用して実装しているな、というのがつかめれたのでよかった
  • 時間を開けてもう一回読みたい

手に取った理由

  • 初学者として、Javaを学んできたので、Javaを使ったデザインパターンの考え方を知りたかった
  • どんなパターンがあって、というのは共通語として押さえておきたかった