Maison  >  Article  >  développement back-end  >  Qu'est-ce que le modèle d'usine ?

Qu'est-ce que le modèle d'usine ?

藏色散人
藏色散人avant
2019-04-15 16:00:197159parcourir

Le modèle d'usine (modèle d'usine) est notre modèle d'objet d'instanciation le plus couramment utilisé. Il s'agit d'un modèle qui utilise des méthodes d'usine pour remplacer de nouvelles opérations. Le célèbre forum Jive utilise largement le modèle d'usine. Le modèle d'usine peut être vu partout dans le système de programme Java. Étant donné que le modèle d'usine est équivalent à new pour la création d'objets d'instance, nous générons souvent des objets d'instance basés sur la classe Class, tels que A a=new A().

Le mode usine est également utilisé pour créer des objets d'instance, donc à l'avenir, vous devrez être prudent lorsque vous en créez de nouveaux. Pouvez-vous envisager d'utiliser le mode usine ? Bien que cela puisse nécessiter plus de travail, cela entraînera des problèmes pour vous ? système. Une plus grande évolutivité et des modifications minimes.

<?php
//汽车类
class car{
    public function run(){
    echo &#39;car run .....&#39;;
    }
}
class bus{
    public function run(){
        echo &#39;bus run .....&#39;;
    }
}
//创建一个汽车工厂类用于生产汽车对象
class carFactory{
    public static function getACar($type){
if($type == &#39;car&#39;){
    return new car();
}else{
    return new bus();
}
    }
}
//调用演示
$car = carFactory::getACar(&#39;bus&#39;);
$car->run();

Au fur et à mesure que le projet avance, la classe bus et la classe voiture peuvent " donner naissance à de nombreux fils ", nous devons donc instancier ces fils un par un. Ce qui est pire, nous devrons peut-être aussi modifier. le code précédent, comme modifier le nom de la classe ou le nom du fichier de la voiture ou définir un constructeur pour la voiture ou le bus. Si nous n'utilisons pas le mode ingénierie, nous devrons modifier le fichier et le code appelant correspondants (j'ai oublié pourquoi, un bug). se produira ! ).

Mais si vous utilisez consciemment le mode usine dès le début, ces problèmes disparaîtront.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer