Quel est le modèle de méthode de fabrique php ?

藏色散人
Libérer: 2023-04-09 11:32:02
original
2605 Les gens l'ont consulté

Le modèle de méthode d'usine PHP est un modèle de création et est l'un des modèles de conception couramment utilisés. Le modèle d'usine est également divisé en modèle d'usine simple, modèle de méthode d'usine, modèle d'usine statique et modèle d'usine abstrait, ainsi que le modèle d'usine PHP. La méthode d'usine consiste à résoudre des problèmes simples d'évolutivité d'usine.

Quel est le modèle de méthode de fabrique php ?

Recommandé : "Tutoriel PHP"

Introduction

 Affiliation : Modèle de création, couramment utilisé L'un des modèles de conception

Le modèle d'usine est divisé en : modèle d'usine simple, modèle de méthode d'usine, modèle d'usine statique et modèle d'usine abstrait.

Ce qui suit est le modèle de méthode d'usine.

Aperçu du modèle

La méthode d'usine consiste à résoudre le problème d'évolutivité des usines simples. Je pense que tout le monde trouvera également ses défauts en regardant les usines simples

Dans le passé. , les usines simples ont dû être étendues. Lorsque , vous devez modifier le contenu de l'usine, ce qui viole le principe selon lequel le modèle de conception est ouvert pour l'expansion externe et fermé pour la modification interne, j'ai donc créé un modèle de méthode d'usine.

Éléments impliqués :

  Classe d'usine (instancier le produit A)

Classe d'usine (instancier le produit B)
Classe de produit A

Classe de produit B

Donnez-moi un exemple

Un site Web de centre commercial prend en charge plusieurs fonctions de paiement, telles qu'Alipay, WeChat, une certaine banque, une certaine banque... Comment concevoir le programme.

Si vous suivez le modèle d'usine simple et déclarez une classe d'usine et laissez la classe d'usine déterminer le mode de paiement à appeler, alors il doit y avoir une opération de modification continue de la classe d'usine à chaque fois qu'un mode de paiement est utilisé. ajouté, la classe d'usine doit être modifiée. Viole le principe [Ouvert et Fermé]

Problèmes à résoudre :

1. Résoudre le problème du principe [Ouvert et Fermé] de manière simple. usine

L'organigramme est le suivant :

Code de programmation :

1. php

createMode(); // 使用工厂类获取产品类 $mode->doAction($param); // 执行产品类方法
Copier après la connexion

2. Interface de classe d'usine, classe d'usine de paiement Alipay, classe d'usine de paiement WeChat, classe d'usine de paiement UnionPay.

Interface de classe d'usine : PayFactoryInterface.php


        
Copier après la connexion

Classe d'usine de paiement Alipay : ZhiFuBaoFactory.php


        
Copier après la connexion

Classe d'usine de paiement WeChat : WeiXinFactory.php


        
Copier après la connexion

Classe d'usine de paiement UnionPay : YinLianFactory.php


        
Copier après la connexion

3. Interface de classe de produit, classe de produit de paiement Alipay, classe de produit de paiement WeChat, classe de produit de paiement UnionPay.

Interface produit : PayInterface.php


        
Copier après la connexion

Catégorie de produit de paiement Alipay : ZhiFuBao.php


        
Copier après la connexion

Catégorie de produit de paiement WeChat : WeiXin.php


        
Copier après la connexion

UnionPay Catégorie de produit de paiement : Yinlian.php


        
Copier après la connexion

Voici l'adresse du code source

Adresse du code source GitHub : https://github.com/xiaobaoword/design_pattern/tree/master

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!