design pattern php sample.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
var
.gitignore
README.md
bootstrap.php
composer.json
composer.lock
phpcs.xml
phpmd.xml
phpunit.xml.dist

README.md

デザインパターン

デザインパターンになれる

  • Iterator ― 1つ1つ数え上げる
  • Adapter ― 一皮かぶせて再利用

サブクラスにまかせる

  • Template Method ― 具体的な処理をサブクラスにまかせる
  • FactoryMethod ― インスタンス作成をサブクラスにまかせる

インスタンスを作る

  • Singleton ― たった1つのインスタンス
  • Prototype ― コピーしてインスタンスを作る
  • Builder ― 複雑なインスタンスを組み立てる
  • Abstract Factory ― 関連する部品を組み合わせて製品を作る

分けて考える

  • Bridge ― 機能の階層と実装の階層を分ける
  • Strategy ― アルゴリズムをごっそり切り替える

同一視

  • Composite ― 容器と中身の同一視
  • Decorator−飾り枠と中身の同一視

構造を渡り歩く

  • Visitor ― 構造を渡り歩きながら仕事をする
  • Chain of Responsibility ― 責任のたらい回し

シンプルにする

  • Facade ― シンプルな窓口
  • Mediator ― 相手は相談役1人だけ

状態を管理する

  • Observer ― 状態の変化を通知する
  • Memento ― 状態を保存する
  • State ― 状態をクラスとして表現する

無駄をなくす

  • Flyweight ― 同じものを共有して無駄をなくす
  • Proxy ― 必要になってから作る

クラスで表現する

  • Command ― 命令をクラスにする
  • Interpreter ― 文法規則をクラスで表現する