Il y a trop de modèles en PHP que nous devons comprendre et maîtriser. Je me demande combien de modèles vous avez maîtrisés après avoir étudié si longtemps ? Que savez-vous de l’utilisation du mode adaptateur et du mode stratégie en PHP ? Cet article vous apprendra l'utilisation du mode adaptateur et du mode stratégie en PHP Apprenons ensemble
Recommandations associées : Qu'est-ce que le mode observateur en PHP ? Comment l'utiliser ?
Adaptateur :
Il existe de nombreux adaptateurs dans la vie L'adaptateur secteur est le transformateur à l'intérieur du 220v
peut être -. une classe L'interface est convertie en une autre interface souhaitée par le client, afin que les interfaces initialement incompatibles puissent fonctionner ensemble. L'interprétation populaire est d'adapter différentes interfaces en une interface unifiée -
De même, nous créons un nouveau fichier et définissons une classe. Il existe une méthode dans la classe class Nous connaissons une telle classe, mais nous n'en avons qu'une. une méthode, et à ce stade, nous devons exposer une interface au monde extérieur, alors comment implémenter le modèle d'adaptateur via une classe. Nous continuons à écrire une classe, car la classe suivante est une nouvelle classe que nous avons ajoutée, donc nous peut écrire n'importe quelle méthode membre, Et lorsque nous créons un objet, nous devons enregistrer l'objet transmis ; prenons le code comme exemple :
<?php interface PerfectMan { function cook(); function writePhp(); } class Wife { function cook( ) { echo '最犀利的剑,只为最强大的手所挥动<br />'; } } class Man implements PerfectMan { protected $wife; //在创建对象的时候保存传递进来的对象 function __onstruct($wife) { $this->wife = $wife; } function cook( ) { $this->wife->cook(); } function writePhp() { echo '我会写php代码<br />'; } } $li = new Wife(); $ming = new Man( ) ; $ming->writePhp(); $ming->cook();
Mode stratégie :
(1) Plusieurs classes se différencient uniquement Lorsque vous exprimez différents comportements, vous pouvez utiliser le mode Stratégie pour sélectionner dynamiquement le comportement
spécifique à exécuter au moment de l'exécution.
(2) Différentes stratégies (algorithmes) doivent être utilisées dans différentes situations, ou la stratégie peut être mise en œuvre d'autres manières
à l'avenir.
(3) Les détails de mise en œuvre de stratégies spécifiques (algorithmes) sont cachés aux clients et sont complètement indépendants les uns des autres.
(4) Le client doit connaître toutes les classes de stratégie et décider laquelle utiliser. Le mode stratégie n'est applicable que
lorsque le client connaît tous les algorithmes ou comportements.
(5) Le modèle de stratégie crée de nombreuses classes de stratégie, et chaque classe de stratégie spécifique générera une nouvelle classe.
Avantages :
1. Le modèle de stratégie fournit un moyen de gérer les familles d'algorithmes associées
2 L'algorithme est enfermé dans une classe de stratégie indépendante. afin que vous puissiez le modifier indépendamment de son contexte
3. L'utilisation du mode stratégie peut éviter d'utiliser plusieurs instructions de transfert conditionnel
Le code est le suivant :
<?php interface Love { function sajiao(); } class KeAi implements Love { function sajiao( ) { echo '心怀不惧,才能翱翔于天际<br />'; } } class Tiger implements Love { function sajiao( ) { echo '智商太低会传染,离我远点<br />' ; } } class GirlFriend { protected $xingge; function __construct($xingge) { $this->xingge = $xingge ; } function sajiao( ) { $this->xingge->sajiao(); } } $keai = new KeAi; $li = new GirlFriend($keai); $li ->sajiao();
Résultat de l'exécution Comme suit :
Apprentissage recommandé : "Tutoriel vidéo 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!