代理模式,提供一种代理以控制对实际调用对象的访问。
代理类成为实际调用对象的中间件,可以控制对实际调用对象的访问权限。
比如支付宝代交水电费,滴滴软件代叫出租车。
<?php
interface go{
public function takeCar();
}
class BeijingTaxi implements go{
public function drive() {
echo '北京首汽出租车司机带你去目的地。';
}
}
class DiDi implements go{
private $taxi;
public function __construct() {
$this->taxi = new BeijingTaxi();
}
public function takeCar() {
echo '请打开滴滴软件呼叫出租车。';
$this->taxi->drive();
}
}
//client
$didi = new DiDi();
$didi->takeCar();
最后总结:
优点:
降低客户端和具体行为类的耦合