簡介:
代理模式,是結構型的設計模式,用于為其它物件提供一種代理以控制對這個物件的訪問,
目標物件可以是遠程的物件、創建開銷大的物件或需要安全控制的物件,并且可以在不改變目標物件的情況下添加一些額外的功能,
適用場景:
- 呼叫端不想或不能直接呼叫的物件,
- 服務端不想讓呼叫端看到核心實作,
優點:
- 服務端與呼叫端分離,防止服務端代碼與呼叫端直接關聯,降低耦合,
- 保護目標物件,
缺點:
- 增加類的數量,增加代碼復雜度,
- 額外且非必要的類,會造成資源損耗,
代碼
//被代理的抽象介面
interface Mobile {
public function run();
}
//被代理的內容
class Vivo implements Mobile {
public function run() {
echo 'vivo手機正在運行';
}
}
//代理核心代碼
class Proxy {
private $real_obj;
public function __construct() {
$this->real_obj = new Vivo;
}
public function run() {
$this->real_obj->run();
}
}
//呼叫端=================================================
(new Proxy())->run();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529890.html
標籤:其他
上一篇:python中的字典和集合
