Le contenu de cet article concerne la méthode d'usine du modèle de conception PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Je me suis concentré sur son apprentissage aujourd'hui. Méthode d'usine (FactoryMethod) Ce modèle de conception, voici quelques-unes de mes expériences et expériences d'apprentissage, enregistrez :
Méthode Factory C'est l'un des modes de création parmi les 23 modes. Comme j'ai déjà une certaine compréhension des usines simples, la méthode factory est une évolution des usines simples. On peut voir à partir des usines simples qu'une classe qui interagit avec le client. doit C'est un processus fastidieux de créer plusieurs classes différentes, et la méthode d'usine consiste à diviser cette classe interactive sur sa base afin que chaque classe puisse être créée indépendamment pour faciliter l'expansion horizontale.
Prenons l'exemple de la création d'un personnage de jeu :
<?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();
Recommandations associées :
Conception PHP Patrons Simple Factory
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!