【ふぁくとりーぱたーん】
Factoryパターン とは?
💡 オブジェクトの「生成工場」を作って分離する
📌 このページのポイント
なぜnewで直接作らないの?
new ConcreteClass()をコード中に散らばらせると、クラスを変更したい時に全箇所を修正する必要がある。Factoryに集約すれば変更箇所は1箇所。テスト時にモックオブジェクトに差し替えるのも簡単。「オブジェクトの生成は思ったより変更が多い」というのがFactoryパターンの動機だよ
Factory MethodとAbstract Factoryの違いは?
実際のコードで使う場面は?
使いすぎの問題は?
「生成ロジックが単純なのにFactoryを作る」のは過剰設計。将来の拡張に備えてFactoryを作ったけど結局1種類しか使わなかった、というケース。YAGNIの原則に従って、実際に切り替えの必要が出てから導入しても遅くない。Simple Factoryから始めて必要に応じてFactory Methodに進化させるのがおすすめだよ
まとめ:ざっくりこれだけ覚えればOK!
「Factoryパターン」って出てきたら「オブジェクトの生成を専用の仕組みに任せるパターン」と思えればだいたいOK!
📖 おまけ:英語の意味
「Factory Pattern」 = 工場パターン
💬 Factory(工場)のように、注文に応じた製品(オブジェクト)を生産する仕組みだよ