togatttiのエンジニアメモ

過度な期待はしないでください.

デザインパターンの勉強でFactory Methodとか書いてみた【PHP】

デザインパターンが気になったので、調べてみた。よく使われているものとして、Factory Methodというのがあったのでそれに関するテストコードを書いて整理。

デザインパターンとは

デザインパターンはある問題に直面したときに、このようにすれば解決できるというような先人たちのノウハウが詰まったマニュアルみたいなもの。

メリット

  • 再利用しやすい柔軟な設計
  • 共通ルールを設定することで開発スピードが早くなる

Factory Method

このパターンでは使いたいオブジェクトを生成するクラスを用意する。例えばこんな感じ。



SmartPhoneクラスはメーカーとモデルを保持している。
SmartPhoneFactoryクラスはSmartPhoneインスタンスを生成するだけのクラス。
ポイントは呼び出す...Factoryクラスをどのように使うか。 


次のようにすれば、
インスタンスを形成するときに値によって、柔軟にクラスを使うことができたりする。今回は正しいクラスなのかどうかを判定している。例えば他にもxml,csv,xlsなど種類に応じたクラスをそれぞれ用意しておけば、Factoryで引数により分岐をして、柔軟に処理ができそう。

正直、もう少し勉強してみないと難しい。


参考: