PHP设计模式之简单工厂模式

韦小宝
韦小宝 原创
2023-03-17 13:36:01 990浏览

定义一个工厂类,简单工厂模式它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。

WF_$UGOHQ%FZ0]3)R9UTG5L.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中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。