1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GoF(Gang of Four)デザインパターン

Last updated at Posted at 2024-04-30

はじめに

GoF(Gang of Four)デザインパターンは、エリック・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディースの4人の著者によって1994年に出版された「Design Patterns: Elements of Reusable Object-Oriented Software」で紹介された23のデザインパターンを指す。パターン化された設計方法、セオリーみたいなもの。

GoFデザインパターンの分類

GoFデザインパターンは、以下の3つのカテゴリに分類される

  • 生成に関するパターン(Creational Patterns)
  • 構造に関するパターン(Structural Patterns)
    • アダプタ(Adapter)
    • ブリッジ(Bridge)
    • コンポジット(Composite)
    • デコレータ(Decorator)
    • ファサード(Facade)
    • フライウェイト(Flyweight)
    • プロキシ(Proxy)
       
  • 振る舞いに関するパターン(Behavioral Patterns)
    • チェインオブレスポンシビリティ(Chain of Responsibility)
    • コマンド(Command)
    • インタプリタ(Interpreter)
    • イテレータ(Iterator)
    • メディエータ(Mediator)
    • メメント(Memento)
    • オブザーバ(Observer)
    • ステート(State)
    • ストラテジ(Strategy)
    • テンプレートメソッド(Template Method)
    • ビジター(Visitor)

GoFデザインパターンの利点

GoFデザインパターンを適切に使用することで、以下のような利点が得られる

  • コードの再利用性が向上
  • コードの可読性と保守性が向上
  • 開発者間のコミュニケーションの円滑化
  • 設計の柔軟性が向上
  • 開発時間を短縮

GoFデザインパターンの適用

GoFデザインパターンを適用する際は、以下の点に注意が必要

  • パターンを適用する前に、問題領域を十分に理解
  • パターンを鵜呑みにせず、状況に応じて適切にカスタマイズ
  • パターンを過剰に使用しない。シンプルな解決策が適切な場合もある
  • パターンを学ぶことで、設計の原則や考え方を身につける

まとめ

GoF(Gang of Four)デザインパターンは、オブジェクト指向プログラミングにおける再利用可能なソリューションを提供します。生成、構造、振る舞いの3つのカテゴリに分類された23のパターンは、コードの品質と保守性を向上させるための強力なツールです。適切な状況で適用することで、開発の効率化と設計の改善が期待できます。ただし、パターンを鵜呑みにせず、問題領域を十分に理解した上で、状況に応じて適切にカスタマイズすることが重要です。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?