Maison > développement back-end > Problème PHP > L'application du mode adaptateur et du mode stratégie en PHP

L'application du mode adaptateur et du mode stratégie en PHP

慕斯
Libérer: 2023-03-10 19:58:01
original
1693 Les gens l'ont consulté

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 &#39;最犀利的剑,只为最强大的手所挥动<br />&#39;;
}
}
class Man implements PerfectMan
{
  protected $wife;
  //在创建对象的时候保存传递进来的对象
  function __onstruct($wife)
  {
  $this->wife = $wife;
  }
  function cook( )
  {
    $this->wife->cook();
  }
  function writePhp()
  {
    echo &#39;我会写php代码<br />&#39;;
}
}
$li = new Wife();
$ming = new Man( ) ;
$ming->writePhp();
$ming->cook();
Copier après la connexion

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 &#39;心怀不惧,才能翱翔于天际<br />&#39;;
}
}
class Tiger implements Love
{
  function sajiao( )
{
  echo &#39;智商太低会传染,离我远点<br />&#39; ;
}
}
class GirlFriend
{
  protected $xingge;
  function __construct($xingge)
{
  $this->xingge = $xingge ;
}
  function sajiao( )
{
  $this->xingge->sajiao();
}
}
$keai = new KeAi;
$li = new GirlFriend($keai);
$li ->sajiao();
Copier après la connexion

Résultat de l'exécution Comme suit :

Lapplication du mode adaptateur et du mode stratégie en PHP

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal