ホームページ >バックエンド開発 >PHPチュートリアル >PHP デザイン パターン - ファクトリ メソッド
声明: この一連のブログの参考資料は、Cheng Jie 著の「Dahua Design Pattern」です。
我们 先ほど簡単なファクトリーを紹介しましたが、今日は引き続き別のファクトリーメソッドを学習します。
コア ファクトリ クラスは、すべての製品の作成を担当しなくなりましたが、特定の作成作業はサブクラスに任せ、抽象ファクトリの役割となり、特定のファクトリ クラスが実装する必要があるインターフェイスを提供することのみを担当します。以下の図に示すように、どのプロダクト クラスをインスタンス化するかについての詳細:
use using using ' s ' s 's ‐ ‐ ‐プログラムはそれとは何の関係もありません。パターンで作成されたオブジェクトのファクトリ クラスはすべて、このインターフェイスを実装する必要があります。
具象ファクトリ ロール (ChickenLegBaoFactory): 抽象ファクトリ インターフェイスを実装する具象ファクトリ クラスであり、アプリケーションに密接に関連するロジックが含まれており、製品オブジェクトを作成するためにアプリケーションによって呼び出されます。
abstract製品ロール(Ihanbao):Factoryメソッドパターンによって作成されたオブジェクトのスーパータイプ。これは、製品オブジェクトの一般的な親クラスまたは一般的に所有されているインターフェイスです。上の写真では、このキャラクターはライトです。
特定の製品ロール (ChickenLegBao): このロールは、抽象製品ロールによって定義されたインターフェイスを実装します。特定の製品は特定の工場で作られ、それらの間には 1 対 1 の対応関係があることがよくあります。 hower上記のUMLクラス図と役割に基づいて、次のPHPコードを書きます。
ファクトリ メソッド パターンの長所と短所:
1. 構造の複雑さ
2. コードの複雑さ
シンプル ファクトリ パターンのファクトリ クラスは、製品カテゴリが増加するにつれて多くのメソッド (またはコード) を追加する必要がありますが、ファクトリ メソッド パターンでは、特定の各ファクトリ クラスは 1 つのタスクのみを完了し、コードは簡潔です。 上 3. 管理の難しさ
PHP オブジェクト指向デザイン パターン