GoF

PHPで学ぶデザインパターン - Stateパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Stateパターンとは状態をクラスで用意することで振る舞いを切り替えることができるようなパターン。 実装スイッチのオンオフの状態を切り替えるような例を想定した。シングルトンを使ったほうが良い気がする。 <?php class OnState { public function get...

GoF PHP デザインパターン ステートパターン

PHPで学ぶデザインパターン - Bridgeパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Bridgeパターンとは機能拡張のためのスーパークラスと実装拡張のためのサブクラスを用意し、機能の橋渡しをするようなパターン。 実装<?php interface Connector { public function __construct(Converter $converter)...

GoF PHP デザインパターン ブリッジパターン

PHPで学ぶデザインパターン - Adapterパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Adaperパターンとは元となるクラスに修正を加えることなくインターフェースを変更することができるパターン。 異なるインターフェース間の互換性を調整するようなAdapterクラスを用意することで実現する。 実装<?php interface Bird { public function...

アダプターパターン GoF PHP デザインパターン

PHPで学ぶデザインパターン - Mediatorパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Mediatorパターンとは仲介者・調停者の意味。 オブジェクトの振る舞いに関するデザインパターンで、オブジェクト間のやりとり調整するためのパターン。 オブジェクト同士のやり取りが複雑化し、関係性が見えにくくなるような時に有用かもしれない。 実装<?php // Mediator class...

PHP デザインパターン メディエーターパターン GoF

PHPで学ぶデザインパターン - Strategy

アプリケーション

概要この記事はPHPで学ぶデザインパターン Advent Calendar 2018の記事です。 今回はStrategyパターンについてかきます。 Strategyパターンとは?Strategyパターンは、アルゴリズムの切り替えを容易にするようなパターンです。異なる処理をそれぞれ別のクラスに定義するため、 処理を動的に選択できるだけでなく、条件分岐を減らすことも可能としてします。OCP(open/...

デザインパターン PHP GoF ストラテジーパターン

PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory

アプリケーション

この記事はPHPで学ぶデザインパターン Advent Calendar 2018の記事です。 概要Factory・Factory Method・Abstract Factoryについてかきます。 Factoryパターンについて知るまずはFactoryパターンについてざっくり説明します。 interface Robot { public function say(); } class Blue...

デザインパターン GoF PHP アブストラクトファクトリーパターン ファクトリーパターン ファクトリーメソッドパターン