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

GoFのデザインパターンまとめ

1. はじめに

GoFのデザインパターン(23種)をまとめました。

2. デザインパターン一覧

2-1. 生成に関するパターン

デザインパターン 概要
Abstract Factory 関連する部品を組み合わせて製品を作る
Builder 複雑なインスタンスを組み立てる
Factory Method インスタンス作成をサブクラスにまかせる
Prototype コピーしてインスタンスを作る
Singleton たった1つのインスタンス

2-2. 構造に関するパターン

デザインパターン 概要
Adapter 一皮かぶせて再利用
Bridge 機能の階層と実装の階層を分ける
Composite 容器と中身の同一視
Decorator 飾り枠と中身の同一視
Facade シンプルな窓口
Flyweight 同じものを共有して無駄をなくす
Proxy 必要になってから作る

2-3. 振る舞いに関するパターン

デザインパターン 概要
Chain of Responsibility 責任のたらい回し
Command 命令をクラスにする
Interpreter 文法規則をクラスで表現する
Iterator 1つ1つ数え上げる
Mediator 相手は相談役1人だけ
Memento 状態を保存する
Observer 状態の変化を通知する
State 状態をクラスとして表現する
Strategy アルゴリズムをごっそり切り替える
Template Method 具体的な処理をサブクラスに任せる
Visitor 構造を渡り歩きながら仕事する

3. GitHub

4. 参考

今回の記事、及びサンプルプログラムは、以下の書籍を元に作成させて頂きました。

大変分かりやすく、勉強になりました。感謝申し上げます。
デザインパターンやサンプルプログラムについての説明が詳細に書かれていますので、是非書籍の方もご覧ください。

i-tanaka730
Webシステム・スマホアプリ・Windowsアプリ等の開発をしてます。 ストレス・不安の軽減、勉強・仕事の効率化、人間関係向上を目的に、心理学も勉強してます。 【C# / Java / PHP / Python / JS / .NET / Docker / UML etc.】
Why not register and get more from Qiita?
  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
No 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
ユーザーは見つかりませんでした