Nous vous avons présenté les avantages du mode usine de php, la signification du mode usine et les trois situations du mode usine. Nous allons donc aujourd'hui continuer à vous présenter le rôle du mode usine de php. !
Les modèles d'usine sont divisés en trois types : usine simple, méthode d'usine et usine abstraite. La différence entre les trois types d'usines est que l'usine abstraite a plusieurs lignes de produits, tandis que la méthode d'usine n'a qu'un seul produit. line, qui est une simplification de la fabrique abstraite. La méthode factory est opposée à la méthode factory simple. À première vue, il semble que la méthode factory ajoute beaucoup de code mais implémente les mêmes fonctions que la méthode factory simple. Mais l'essentiel est que l'usine simple ne suit pas strictement le principe d'ouverture et de fermeture du Simple FactoryAvantages : les utilisateurs de produits n'ont pas besoin de se soucier du processus de création des classes de produits et obtiennent un effet de découplage des classes de mise en œuvre de produits spécifiques » (OCP) ; ), car lors de l'ajout d'une nouvelle classe de produits, la méthode d'usine d'origine doit être modifiée occasions applicables : lorsque la classe d'usine est responsable de la création de moins deobjets que
;Le code spécifique est le suivant<?php//抽象产品interface Person { public function getName(); }//具体产品实现class Teacher implements Person { public function getName() { return "老师n"; }}class Student implements Person { public function getName() { return "学生n"; }}//简单工厂class SimpleFactory { public static function getPerson($type) { $person = null; if ($type == 'teacher') { $person = new Teacher(); } elseif ($type == 'student') { $person = new Student(); } return $person; }}//简单工厂调用class SimpleClient { function main() { // 如果不用工厂模式,则需要提前指定具体类 // $person = new Teacher(); // echo $person->getName(); // $person = new Student(); // echo $person->getName(); // 用工厂模式,则不需要知道对象由什么类产生,交给工厂去决定 $person = SimpleFactory::getPerson('teacher'); echo $person->getName(); $person = SimpleFactory::getPerson('student'); echo $person->getName(); }}
Grâce à l'étude de cet article, je crois que tout le monde a une nouvelle conception du rôle du modèle d'usine PHP, je l'espère. sera utile à votre travail. ~
Recommandations associées :Analyse des avantages de l'utilisation du modèle d'usine php
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!