skillup

技術ブログ

プログラミング全般

Simple Factoryパターンについて

投稿日:2020年5月25日 更新日:

今回はデザインパターンの一種であるSimple Factoryパターンに関して。

Simple Factoryパターンとは

正確な定義は色々と難しいと思いますが、わかりやすく言うと、

サブクラスなどがある場合、インスタンス化する部分を別オブジェクトに任せ、カプセル化するデザインパターン

だと認識しています。この任せられる別オブジェクトの部分をSimpleFactoryなどと言います。

サンプルコード

以下で簡単なサンプルを書いております。

https://github.com/umanari145/phptips/tree/master/factory

解説

AnimalFactoryの中でCatやDogのインスタンスが生成され、AnimalControllerからはインスタンス生成が見えないため、疎結合になります。

このため、AnimalControllerがサブクラスの変更(CatがDogに変更されるなど、)の影響を受けないと言うメリットがあります。

SimpleFactoryメソッドを使わない場合、AnimalControllerの部分にDogやCatのインスタンス生成を書かないといけないため、変更の影響を受けてしまいます。

参考リンク

【PHPで学ぶデザインパターン入門】第5回 Factoryパターン

-プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

例外処理に関して

いまいち使い方がいい加減だった例外処理について、復習がてらメモします。 昔のリンクを整理して出てきた例外リンクはこちら(Javaですが今のPHPにも当てはまるかと思います。) 例外処理について 例外処 …

no image

テスト環境のデータ作りに関して

単体テスト以降の環境ですとテストのデータを作ることがなかなか大変だと思います。マスタなどはそのままもらうこともあると思いますので、主にトランザクションデータについて。 以前もこのネタに関しては色々書い …

no image

新しいプロジェクトに入った時にやること

新しいプロジェクトに入った時に最初にすべきことややっておくことなど Contents1 仕様理解編1.1 ユーザーの行動遷移の理解1.2 キー系のデータの理解1.3 データグルーピング1.4 サンプル …

no image

JWT(ジョット)の認証に関して

セッションやtokenを使った、認証について色々書いてきましたが、今回はJWTを使った認証について。 Contents1 以前の認証がらみの記事2 JWT(ジョット)とは?2.1 ヘッダー2.2 クレ …

no image

サロゲートキーと主キーに関して

今までも何度か触れたサロゲートキーと主キーに関して。 今までの参考リンク 論理設計のグレーノウハウ サロゲートキー サロゲートキーに関して 主にシステム設計的な考察が多かったので、今回はユースケースか …

アーカイブ