第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP設計模式 代理設計模式

標簽:
PHP

概述:

一个类代表另一个类的功能,这种属于结构性设计模式;主要是为其他对象提供一种代理以控制这个对象的访问。


优点:

1、职责清晰。

2、高扩展性。

3、智能化。

缺点:

1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。

2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。

使用场景:

按职责来划分,通常有以下使用场景:

1、远程代理。

2、虚拟代理。

3、Copy-on-Write 代理。

4、保护(Protect or Access)代理。

5、Cache代理。

6、防火墙(Firewall)代理。

7、同步化(Synchronization)代理。

8、智能引用(Smart Reference)代理。

注意事项:

1、和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。

2、和装饰器模式的区别:装饰器模式为了增强功能,而代理模式是为了加以控制。


<?php

interface Image{
    public function display();
}

class RealImage implements Image {

    private  $fileName;

    public function RealImage($fileName){
        $this->fileName = fileName;
        $this->loadFromDisk($this->fileName);
    }

    public function display() {
        echo "Displaying " . $this->fileName;
    }

    private function loadFromDisk( $fileName){
        echo "Loading " . $this->fileName;
    }
}

class ProxyImage implements Image{

   private realImage = null;
   private $fileName;

   public function ProxyImage( $fileName){
      $this->fileName = $fileName;
   }

   public function display() {
      if($this->realImage == null){
         $this->realImage = new RealImage($this->fileName);
      }
      $this->realImage->display();
   }
}
$image = new ProxyImage("test_10mb.jpg");
$image->display();

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消