网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

PHP设计模式(7)代理模式

PHP设计模式中的代理模式(Proxy),它是对简单处理程序(或指针)的增强,用于引用一个对象:这个指针被代理(Proxy)对象取代,代理对象位于客户端(Client)和真实执行程序之间,指针有一个可被多个目标利用的钩子。

创新互联是一家专业提供四平企业网站建设,专注与网站建设、成都网站设计H5场景定制、小程序制作等业务。10年已为四平众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

从技术上讲,这种模式在客户端和真实主体(RealSubject)之间插入一个代理对象,维护subject接口和用不同的方式委派它的方法

PHP设计模式(7)代理模式

参与者

客户端(Client):取决于主体(Subject)实现;

主体(Subject):RealSubject的抽象;

真实主体(RealSubject):完成代价高昂的工作或包含大量的数据;

代理(Proxy):为Client提供一个与Subject一致的引用,仅在需要时才创建RealSubject实例或与RealSubject实例通信。

广泛使用的代理模式例子:

1、对象-关系映射(Orms)在运行中创建代理作为实体类的子类,以实现懒散加载(虚拟代理),这个代理会覆盖所有实体方法,在前面追加一个载入程序,在方法被真正调用前不会包含任何数据,Orms代理支持对象间的双向关系,不用加载整个数据库,因为它们被置于当前加载对象图的边界。

感觉好难理解吧,我也不是很理解,看代码吧~~~回头慢慢理解

_width;
}

public function getHeight(){
return $this->_height;
}

public function getPath(){
return $this->_path;
}

}
//真实主体
class RawImage extends AbstractImage{
public function __construct($path){
$this->_path = $path;
list($this->_width,$this->_height) = getp_w_picpathsize($path);
$this->_data = file_get_contents($path);
}
public function dump(){
return $this->_data;
}

}
//代理
class ImageProxy extends AbstractImage{
public function __construct($path) {
$this->_path = $path;
list($this->_width,$this->_height) = getp_w_picpathsize($path);
}

protected function _layzLoad(){
if($this->_realImage === null) {
$this->_realImage = new RawImage($this->_path);
}
}

public function dump(){
$this->_layzLoad();
return $this->_realImage->dump();
}
}
//Client类比没有使用_data来输出p_w_picpath
class Client{
public function tag(Image $img){
return ;
}
}
$path = '/home/jane/下载/0904190.jpg';
$client = new Client();
//_data数据会被加载
$p_w_picpath = new RawImage($path);
echo $client->tag($p_w_picpath);
//_data数据不会被加载
$proxy = new ImageProxy($path);
echo $client->tag($proxy);

网页标题:PHP设计模式(7)代理模式
地址分享:http://bjjierui.cn/article/iihpsj.html

其他资讯