Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Vorteile des PHP-Factory-Methodenmusters?

Was sind die Vorteile des PHP-Factory-Methodenmusters?

WBOY
WBOYOriginal
2022-03-25 18:35:051470Durchsuche

Der Vorteil des PHP-Factory-Methodenmusters besteht darin, dass die Kernklasse nur auf die Schnittstelle der Factory-Klasse achten muss und die spezifischen Produktinstanzen von bestimmten Factory-Unterklassen erstellt werden. In diesem Modus wird durch die Definition einer abstrakten Kern-Factory-Klasse und die Definition der Schnittstelle zum Erstellen von Produkten die Arbeit zum Erstellen spezifischer Produktinstanzen auf die Factory-Unterklassen verlagert.

Was sind die Vorteile des PHP-Factory-Methodenmusters?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 7.1, Dell G3-Computer.

Was sind die Vorteile des PHP-Factory-Methodenmusters?

In diesem Muster wird durch die Definition einer abstrakten Kern-Factory-Klasse und die Definition einer Schnittstelle zum Erstellen von Produktobjekten die Arbeit zum Erstellen spezifischer Produktinstanzen auf ihre Factory-Unterklassen verzögert.

Der Vorteil davon besteht darin, dass sich die Kernklasse nur auf die Schnittstellendefinition der Factory-Klasse konzentriert und die Erstellung spezifischer Produktinstanzen der spezifischen Factory-Unterklasse überlassen wird. Wenn das System ein neues Produkt hinzufügen muss, muss der vorhandene Systemcode nicht geändert werden. Es müssen lediglich eine bestimmte Produktklasse und die entsprechende Factory-Unterklasse hinzugefügt werden. Dies macht das System skalierbarer und entspricht dem Öffnungs- und Schließprinzip der objektorientierten Programmierung.

<?php
interface Animal{
  public function run();
  public function say();
}
class Cat implements Animal
{
  public function run(){
      echo "I ran slowly <br>";
  }
  public function say(){
      echo "I am Cat class <br>";
  }
}
class Dog implements Animal
{
  public function run(){
      echo "I&#39;m running fast <br>";
  }
  public function say(){
      echo "I am Dog class <br>";
  }
}
abstract class Factory{
  abstract static function createAnimal();
}
class CatFactory extends Factory
{
  public static function createAnimal()
  {
      return new Cat();
  }
}
class DogFactory extends Factory
{
  public static function createAnimal()
  {
      return new Dog();
  }
}
 
$cat = CatFactory::createAnimal();
$cat->say();
$cat->run();
 
$dog = DogFactory::createAnimal();
$dog->say();
$dog->run();

 Das Factory-Methodenmuster ist eine weitere Abstraktion und Weiterentwicklung des einfachen Factory-Musters. Aufgrund der Verwendung von objektorientiertem Polymorphismus behält das Factory-Methodenmuster die Vorteile des einfachen Factory-Musters bei und überwindet dessen Nachteile. Im Factory-Methodenmuster ist die Kern-Factory-Klasse nicht mehr für die Erstellung aller Produkte verantwortlich, sondern überlässt die spezifische Erstellungsarbeit den Unterklassen.

Diese Kernklasse ist nur für die Bereitstellung der Schnittstelle verantwortlich, die eine bestimmte Factory implementieren muss, und nicht für die Details, wie die Produktklasse instanziiert wird. Dadurch kann das Factory-Methodenmuster es dem System ermöglichen, neue Produkte einzuführen, ohne sie zu ändern die Fabrikrolle.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Vorteile des PHP-Factory-Methodenmusters?. 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