常用的三种设计模式 PHP代码

Posted 逍遥郭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的三种设计模式 PHP代码相关的知识,希望对你有一定的参考价值。

  

// 工厂模式

interface Iuser
{
    public function getUserName();
}


class UserFactory
{
    static public function load($className)
    {
        return new strtolower($className);
    }

    static public function create($className)
    {
        return new strtolower($className);
    }
}

class User implements Iuser
{
    public function getUserName()
    {
        return ‘jack‘;
    }
}

UserFactory::create(‘User‘)->getUserName();


// 单例模式

class Singleton
{
    static public function getInstance()
    {
        static $obj = null;

        if($obj == null) {
            return new Singleton();
        }
        return $obj;
    }

    public function getUserName()
    {
        return ‘jack‘;
    }
}

Singleton::getInstance()->getUserName();


// 观察者模式

interface Observe
{
    public function getUserName();
}

class User
{
    private $servs = [];
    public function register($obj)
    {
        array_push($servs, $obj);
        return $this;
    }

    public function triggle()
    {
        if($this->servs) {
            foreach($this->servs as $key => $value) {
                $value->getUserName();
            }
        }
    }
}

Class MyUser extends User implements Observ
{
    public function getUserName()
    {
        return ‘jack‘;
    }
}


(new User())->register(new MyUser)->triggle();

 

以上是关于常用的三种设计模式 PHP代码的主要内容,如果未能解决你的问题,请参考以下文章

PHP合并数组的三种方法的分析与比较

PHP和HTML代码混合编译的三种方法

linux vim三种模式如何切换

ASP.NET中常用的三十三种代码

jQuery页面加载初始化常用的三种方法

Java代码复用的三种常用方式:继承组合和代理