定义一个工厂类,简单工厂模式它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(static factory method)模式,它属于类创建型模式。
![1510638618272751.png WF_$UGOHQ%FZ0]3)R9UTG5L.png](https://img.php.cn//upload/image/808/676/435/1510638618272751.png)
/**
*简单工厂模式
* */
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();简单工厂模式提供了专门的工厂类用于创建对象,将对象的创建和对象的使用分离开,它作为一种最简单的工厂模式在软件开发中得到了较为广泛的应用
相关推荐:
立即学习“PHP免费学习笔记(深入)”;
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号