Help us understand the problem. What is going on with this article?

Java言語で学ぶデザインパターンまとめ

More than 1 year has passed since last update.

はじめに

Qiita初投稿です。

Java初心者脱出の為に
増補改訂版Java言語で学ぶデザインパターン入門
を購入したので学んだことをまとめようと思います。

GoF デザインパターン一覧

  • 01 - パターンに慣れる
  • 02 - サブクラスに任せる
    • Template Method
    • Factory Method
  • 03 - インスタンスを作る
    • Singleton
    • Prototype
    • Builder
    • Abstract Factory
  • 04 - 分けて考える
    • Bridge
    • Strategy
  • 05 - 同一視
    • Composite
    • Decorator
  • 06 - 構造を渡り歩く
    • Vister
    • Chain of Responsibility
  • 07 - シンプルにする
    • Facade
    • Mediator
  • 08 - 状態を管理する
    • Observer
    • Memento
    • State
  • 09 - 無駄をなくす
    • Flyweight
    • Proxy
  • 10 - クラスで表現する
    • Command
    • Interpreter

個別記事は順次追加していきます。
順番は書籍に従っていますが、後ほど変更するかもです。

GoF デザインパターンとは

  • デザインパターン
    • 様々なプログラムで再利用できる汎用的な設計パターン

  • GoF (The Gang Of Four)
    • エーリヒ・ガンマ
    • リチャード・ヘルム
    • ラルフ・ジョンソン
    • ジョン・ブリシディース

上記の4人のソフトウェア設計者達が、
オブジェクト指向において
「こうすると再利用・拡張・変更がやりやすくなるよね」
「この問題に対してはこういうパターンの解決策があるよね」
といった典型的な設計手法を蓄積、まとめていき、
パターンごとに名前をつけてカタログ化したものが
GoF デザインパターンです。
全23種類あります。

補足

  • Java標準ライブラリの中にもデザインパターンが使われている
  • 一部のパターンは古いもの、アンチパターンとなっているので注意する
  • クラスの「役割」を理解する
  • どのような機能拡張が考えられるか 拡張する場合、修正が必要なクラスはどれかを意識する

おわりに

GoFデザインパターンは既に多くの方がまとめていますが、
自分への備忘録・アウトプットの場としてやっていきます。
全23パターン完走できるように頑張ります。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away