<?php
/***
* Class Site
* 单例模式
*/
class Site
{
public $siteName;
protected static $instance = null;
private function __construct($siteName)
{
$this->siteName = $siteName;
}
public static function getInstance($siteName='iicode')
{
if(!self::$instance instanceof self){
self::$instance = new self($siteName);
}
return self::$instance;
}
}
/***
* Class Factory
* 工厂模式
*/
class Factory
{
public static function create($temp)
{
return Site::getInstance($temp);
}
}
/***
* Class Register
* 注册树模式
*/
class Register
{
protected static $objects = [];
public static function set($alias,$object)
{
self::$objects[$alias] = $object;
}
public static function get($alias)
{
return self::$objects[$alias];
}
public static function _unset($alias)
{
unset(slef::$objects[$alias]);
}
}
//Site类通过Factory注册到对象池
Register::set('site',Factory::create('Hello'));
//通过对象池访问
$obj = Register::get('site');
echo $obj->siteName;
最后修改:2023 年 12 月 05 日
© 允许规范转载
2 条评论
建议补充发展中国家案例,避免视角局限。
?诗歌散文评语?