PHP設計模式之代理模式詳解

韦小宝
發布: 2023-03-17 13:38:01
原創
1675 人瀏覽過

在軟體開發中,也有一種設計模式可以提供與代購網站類似的功能。由於某些原因,客戶端不想或不能直接存取一個物件,此時可以透過稱為「代理」的第三者來實現間接訪問,該方案對應的設計模式稱為代理模式 

給某一個物件提供一個代理或占位符,並由代理物件來控制對原對象的訪問

PHP設計模式之代理模式詳解

<?php
/*
 * 代理模式
 */

//代理抽象接口
interface shop
{
    public function buy($title);
}

//原来的CD商店,被代理对象
class CDShop implements shop
{
    public function buy($title)
    {
        echo "购买成功,这是你的《{$title}》唱片" . PHP_EOL;
    }
}

//CD代理
class Proxy implements shop
{
    public function buy($title)
    {
        $this->go();
        $CDshop = new CDshop;
        $CDshop->buy($title);
    }

    public function go()
    {
        echo "跑去香港代购" . PHP_EOL;
    }
}

class client
{
    public static function shoping($goods)
    {
        $proxy = new Proxy;
        $proxy->buy($goods);
    }
}

//许多年后你想买张 醒着做梦 找不到CD商店了,和做梦似的,不得不找了个代理去香港帮你代购。

client::shoping("醒着做梦");
登入後複製

代理模式是常用的結構型設計模式之一,它為物件的間接存取提供了一個解決方案,可以對物件的訪問進行控制,設計模式適合有經驗或基本良好的人群去看

相關推薦:

# #PHP代理模式的範例程式碼分享

16php代理模式

《星海爭霸之php代理模式

以上是PHP設計模式之代理模式詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!