GoF定义:为其它对象提供一种代理以控制对这个对象的访问
正向代理、反向代理:
- 通常我们所说的科学上网,就是正向代理,由我们使用软件或者自己配置代理网关上网,实际就是我们把请求发送到指定的网关,再由这个网关代替我们去访问其他网站,这种由我们指定选择的代理就是正向代理
- 当我们访问一个网站的时候,某些路径或者域名并不一定是在这台服务器上,他们在服务器上直接代理到了其他的服务器甚至是别人家的站点。对于这个我们这些浏览网站的人是不知道的,这种我们不知道就被莫名其妙代理了的情况就是反向代理
装饰器、适配器、模板方法模式 和 代理模式区别:
GoF类图:
PHP:
<?php
interface Subject
{
public function Request();
}
class RealSubject implements Subject
{
function Request()
{
echo "真实的操作", PHP_EOL;
}
}
class Proxy implements Subject
{
private $realSubject;
public function __construct()
{
$this->realSubject = new RealSubject();
}
public function Request()
{
echo "代理的操作", PHP_EOL;
$this->realSubject->Request();
}
}
$proxy = new Proxy();
$proxy->Request();
文档信息
- 本文作者:carpe
- 本文链接:https://carpedx.com/wiki/design-pattern-proxy/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)