Nov19th

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

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の差は生成するクラスの型が分かるか分からないかの違い?

リンク