🌊

デザインパターン学習の優先順位

2023/10/07に公開
  • 昔のデザインパターンの位置付け
    • ウォーターフォール開発が主流
    • 次の工程に行くと戻れないので、最初からスケーラブルな設計を作ろう
    • そのために、冗長になったとしてもデザインパターンを使おう
  • 現代のデザインパターンの位置付け
    • リファクタリングと自動テストの登場
    • アジャイル開発が主流
    • MVP開発のために、最初はシンプルに作ろう(YAGNI原則)
    • リリース後、リファクタリングのターゲットとしてデザインパターンを使おう
    • リファクタリングのターゲットとしてデザインパターン。方向付けと語彙

コア:最も多く使われるパターン、日々の業務でしょっちゅう出てくる

(構造)

  • Composite(全体と部分の同一視、1とNの同一視)
  • Proxy
  • Facade

(振る舞い)

  • Strategy
  • State
  • Command
  • Iterator
  • Template

(生成)

  • Factory
  • Prototype
  • Builder
  • Dependency Injection

フェリフェラる?(あまり使わない、コアではない)

(振る舞い)

  • Mediato
  • Visitor

(生成)

  • Abstract Factory
  • Decorator
  • タイプオブジェクト
  • ヌルオブジェクト(コンポジットの亜種)
  • エクステンションオブジェクト(プラグアブルなパターン)

アザー(その他)

  • Flyweight
  • Interpreter

削除対象

  • Singleton
  • Adapter
  • Bridge
  • Chain of Responsibility
  • Mement
  • Observer

変更

  • ファクトリメソッド -> ファクトリー

追加

  • ヌルオブジェクト
  • タイプオブジェクト
  • ディペンデンシィインジェクション
  • エクステンションオブジェクト

Discussion