PHP-註冊樹模式

lemon_lyue發表於2020-06-02

什麼是註冊樹模式

註冊樹模式也叫註冊模式或註冊器模式。註冊樹模式將物件例項註冊到一棵全域性的物件樹上,需要的時候從物件樹上獲取即可。方便去呼叫這些物件,便於統籌管理安排。

註冊樹模式的優點

單例模式建立唯一物件的過程本身還有一種判斷,即判斷物件是否存在,存在則返回物件,不存在則建立物件並返回。 工廠模式更多考慮的是擴充套件維護的問題。 總的來說,單例模式和工廠模式可以產生更加合理的物件。怎麼方便呼叫這些物件呢?註冊樹模式是一種不錯的選擇。不管是通過單例模式還是工廠模式還是二者結合生成的物件,都統統給我插入到註冊樹上,用某個物件的時候,直接從註冊樹上獲取即可。

引用於 www.36nu.com/post/132.html

註冊樹模式的實現


<?php

/**

 * 註冊樹模式

 * Class Register

 */

class Register

{

    protected static $objects = [];// 註冊陣列

    /**

     * 註冊

     * @param string $alias

     * @param object $object

     */

    public static function set(string $alias, $object)

    {

        self::$objects[$alias] = $object;

    }

    /**

     * 撤銷註冊

     * @param string $alias

     */

    public static function _unset(string $alias)

    {

        unset(self::$objects[$alias]);

    }

    /**

     * 獲取

     * @param $alias

     * @return mixed

     */

    public static function  get($alias)

    {

        return self::$objects[$alias];

    }

}

class Db

{

}

$db = new Db();

Register::set('db', $db);

$result = Register::get('db');

var_dump($result);
本作品採用《CC 協議》,轉載必須註明作者和本文連結

lemon_lyue

相關文章