Heim  >  Artikel  >  Backend-Entwicklung  >  Die Anwendung des Adaptermodus und des Strategiemodus in PHP

Die Anwendung des Adaptermodus und des Strategiemodus in PHP

慕斯
慕斯Original
2021-06-23 15:17:261626Durchsuche

Es gibt zu viele Muster in PHP, die wir verstehen und beherrschen müssen. Ich frage mich, wie viele Muster Sie nach so langer Zeit beherrschen. Wie viel wissen Sie über die Verwendung des Adaptermodus und des Strategiemodus in PHP? In diesem Artikel erfahren Sie mehr über die Verwendung des Adaptermodus und des Strategiemodus in PHP. Lassen Sie uns gemeinsam lernen

Verwandte Empfehlungen: Was ist der Beobachtermodus in PHP? Wie benutzt man es?

Adapter:

Es gibt viele Adapter im Leben. Der 220-V-Transformator ist im Inneren enthalten. Er kann eine Schnittstelle einer Klasse in eine andere Schnittstelle umwandeln, die der Kunde wünscht, sodass die ursprünglich inkompatible Schnittstelle dies kann - Arbeiten Sie zusammen. Das gängige Verständnis besteht darin, verschiedene Schnittstellen in eine einheitliche Schnittstelle umzuwandeln.

In ähnlicher Weise erstellen wir eine neue Datei und definieren eine Klasse. Eine solche Klasse ist bekannt, aber wir haben nur eine Methode Wenn wir eine Schnittstelle der Außenwelt zugänglich machen müssen, wie implementieren wir dann das Adaptermuster über eine Klasse? Wir schreiben weiterhin eine Klasse, da die folgende Klasse eine neu hinzugefügte Klasse ist, sodass wir jede Mitgliedsmethode schreiben können. und wir erstellen Beim Erstellen eines Objekts müssen Sie das übergebene Objekt speichern. Nehmen wir den Code als Beispiel:

<?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();

Strategiemodus:

(1) Mehrere Klassen unterscheiden sich nur durch unterschiedliche Leistungsverhalten Sie können den Strategiemodus verwenden, um zur Laufzeit bestimmte Aktionen dynamisch auszuwählen.

(2) In verschiedenen Situationen müssen unterschiedliche Strategien (Algorithmen) verwendet werden, oder die Strategie kann in Zukunft auf andere Weise umgesetzt werden.

(3) Die Implementierungsdetails bestimmter Strategien (Algorithmen) bleiben den Kunden verborgen und sind völlig unabhängig voneinander.

(4) Der Kunde muss alle Strategieklassen kennen und entscheiden, welche er verwenden möchte. Der Strategiemodus ist nur anwendbar

, wenn der Kunde alle Algorithmen oder Verhaltensweisen kennt.

(5) Das Strategiemuster erstellt viele Strategieklassen, und jede spezifische Strategieklasse generiert eine neue Klasse.

Vorteile:

1. Das Strategiemuster bietet eine Möglichkeit, verwandte Algorithmusfamilien zu verwalten

2 Der Algorithmus ist in einer unabhängigen Strategieklasse eingeschlossen, sodass Sie ihn unabhängig von seinem Kontext ändern können3 Das Strategiemuster kann die Verwendung mehrerer bedingter Übertragungsanweisungen vermeiden. Der Code lautet wie folgt:

Das obige ist der detaillierte Inhalt vonDie Anwendung des Adaptermodus und des Strategiemodus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn