この記事の内容は、PHP デザイン パターンのファクトリ メソッドに関するもので、一定の参考価値がありますので、必要な友達に共有してください。
今日はファクトリ メソッド (FactoryMethod) を学習しました。 ) このデザインパターン、以下は私の学習経験と経験の一部です。記録してください:
ファクトリーメソッドは、以前に簡単なファクトリーについてはある程度理解しているので、23のパターンの中の作成パターンの1つです。このメソッドは、単純なファクトリの進化版であり、クライアントと対話するクラスが複数の異なるクラスを作成する必要があることがわかります。これは、ファクトリ メソッドに基づいています。インタラクション クラスは分割されており、各クラスを独立して作成して水平方向の拡張を容易にできます。
ゲーム キャラクターの作成を例に挙げます:
<?php /** Hero * 英雄接口 */ interface Hero { function Create(); } /** GuanYu 关羽 * 具体英雄类 */ Class GuanYu implements Hero { function Create() { echo "关羽加入战场。。。<br/>"; } } /** ZhangFei 张飞 * 具体英雄类 */ Class ZhangFei implements Hero { function Create() { echo "张飞加入战场。。。<br/>"; } } /** FactoryMethod * 工厂方法接口 */ interface FactoryMethod { function CreateHero(); } /** GuanYuFactory * 关羽工厂类 */ Class GuanYuFactory implements FactoryMethod { function CreateHero() { return new GuanYu(); } } /** ZhangFeiFactory * 张飞工厂类 */ Class ZhangFeiFactory implements FactoryMethod { function CreateHero() { return new ZhangFei(); } }
<?php // 工厂方式 客户端 index.php header("Content-Type:text/html;charset=utf-8"); require_once "FactoryMethod.php"; // 各自调用各自的工厂方法进行创建 $GYF = new GuanyuFactory(); $ZFF = new ZhangFeiFactory(); // 调用各自工厂方法的创建英雄方法 $GuanYu = $GYF->CreateHero(); $ZhangFei = $ZFF->CreateHero(); // 调用各自创建英雄方法 $GuanYu->Create(); $ZhangFei->Create();
以上がPHP デザイン パターン ファクトリ メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。