Nov19th

デザインパターン のバックアップ(No.2)

Top / デザインパターン


パターン別まとめ

Abstract Factory

  • 特定のクラス名で固定されていると、生成コードを全て書き換える必要が出てくるので、一カ所にまとめる
    • 生成部は全てfactory.createProductA()になり、createProductA()内のnew ProductA()を書き換えるだけで修正可能に
    • //サンプル
  • Template Methodだと生成部のコードが書き換わらない()
  • Abstract Factoryでは、ユーザにConcrete Factoryだけを見せることはできない
  • Product数を柔軟に変えることはできない
  • Abstract ProductとConcrete Productは1対1
    • Concrete FactoryでswitchすればProductNの中身は差し替えられるかもしれないが
  • Abstract FactoryとFactory Methodの差は生成するクラスの型が分かるか分からないかの違い?