BETA

デザインパターン入門 Factory Method

投稿日:2020-03-20
最終更新:2020-03-20

Factory Method

スーパークラスを定義して、処理はサブクラスが行う
スーパークラスがサブクラスに依存しないから改修はサブクラスだけで済む

スーパークラスは「登録する」ことだけ定義されているので、サブクラスに依存しない

Builderパターンとの違い

  • Builder
    • クラスのアウトラインは抽象クラス
    • 処理を持ったサブクラスと組み合わせて複雑な処理を実現
  • Factory Method
    • 抽象クラスには概念くらいアバウトな定義だけ(登録するなど)
    • サブクラスは登録する処理だったら何でもOK
    • 抽象クラスがサブクラスに依存しないので修正範囲を切り分けられる

Abstract Factoryパターンとの違い

  • Abstract Factory
    • クラスごと(クラスに定義されている一連の処理をまとめて)サブクラスが実装
  • Factory Method
    • メソッド単位でサブクラスが実装
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう