Definieren Sie eine Factory-Klasse, Einfaches Factory-MusterEs kann Instanzen verschiedener Klassen gemäß unterschiedlichen Parametern zurückgeben. Die erstellten Instanzen haben normalerweise eine gemeinsame übergeordnete Klasse. Da die zum Erstellen von Instanzen in Simple Factory Pattern verwendete Methode eine statische Methode ist, wird das Simple Factory Pattern auch als Static Factory Method(Static Factory Method)-Muster bezeichnet , das zum Klassenerstellungsmuster gehört.
/** *简单工厂模式 * */ abstract class userProperties { function getUsername() { } function getGender() { } function getJob() { } } class User extends userProperties { private $username; private $gender; private $job; public function __construct($username, $gender, $job) { $this->username = $username; $this->gender = $gender; $this->job = $job; } public function getUsername() { return $this->username; } public function getGender() { return $this->gender; } public function getJob() { return $this->job; } } class userFactory { public static function createUser($properties = []) { return new User($properties['username'], $properties['gender'], $properties['job']); } } $employers = [ ['username' => 'Jack', 'gender' => 'male', 'job' => 'coder'], ['username' => 'Marry', 'gender' => 'female', 'job' => 'designer'], ]; $user = userFactory::createUser($employers[0]); echo $user->getUsername();
Das einfache Fabrikmuster stellt eine spezielle Fabrikklasse zum Erstellen von Objekten bereit, die die Erstellung von Objekten von der Verwendung von Objekten trennt. Es dient als Das einfachste Factory-Muster wird häufig in der Softwareentwicklung verwendet.
Verwandte Empfehlungen:
php einfaches Factory-Muster-Beispiel Einführungs-Tutorial zu PHP Entwurfsmuster
Vergleich von PHP Simple Factory Pattern, Factory Method Pattern und Abstract Factory Pattern
StarCraft PHP Simple Factory Pattern
Das obige ist der detaillierte Inhalt vonPHP-Designmuster, einfaches Factory-Muster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!