国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

淺談C#設計模式之代理模式

2019-10-29 21:47:27
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了淺談C#設計模式之代理模式,需要的朋友可以參考下
 

代理模式是常用的結構型設計模式之一,當無法直接訪問某個對象或訪問某個對象存在困難時可以通過一個代理對象來間接訪問,為了保證客戶端使用的透明性,所訪問的真實對象與代理對象需要實現相同的接口.根據代理模式的使用目的不同,代理模式又可以分為多種類型,例如保護代理、遠程代理、虛擬代理、緩沖代理等,它們應用于不同的場合,滿足用戶的不同需求

 

復制代碼代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DesignModel
{
    public class Proxy:IAction
    {
        ZQZ zzz = null;
        public Proxy(ZQZ mm)
        {
            zzz = mm;
        }
        public void SendFlower()
        {
            zzz.SendFlower();
        }
        public void SendCake()
        {
            zzz.SendCake();
        }
    }
    public interface IAction
    {
        void SendFlower();
        void SendCake();
    }
    public class ZQZ : IAction
    {
        public string myname { set; get; }
        public void SendFlower()
        {
            Console.WriteLine(myname+"送花");
        }
        public void SendCake()
        {
            Console.WriteLine(myname+"送蛋糕");
        }
    }
}

 

客戶端調用:

 

復制代碼代碼如下:

  ZQZ zzz = new ZQZ();
             zzz.myname = "朱建軍";
             Proxy p = new Proxy(zzz);
             p.SendFlower();
             p.SendCake();

 

代理模式分類:

1. 遠程代理,也就是為一個對象在不同的地址空間提供局部代表,這樣可以隱藏一個對象存在于不同地址空間的事實。

例如: webservice 服務

2. 虛擬代理, 是根據需要創建開銷很大的對象。通過它來存放實例化需要很長時間的真是對象。

  瀏覽器當中是用代理模式來優化下載頁面的

3.安全代理

  用來控制真實對象訪問時的權限。

4.智能指引

是指調用真實對象時,代理處理另外一些事。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通海县| 牙克石市| 闽侯县| 黔江区| 托克托县| 龙门县| 闽清县| 泰州市| 玛纳斯县| 武胜县| 苏州市| 静宁县| 陆良县| 南宁市| 青川县| 大港区| 南岸区| 偏关县| 陆丰市| 定兴县| 井陉县| 理塘县| 济南市| 九寨沟县| 南澳县| 界首市| 房山区| 乐都县| 娄底市| 洪洞县| 舞阳县| 同德县| 天镇县| 乌拉特前旗| 景泰县| 教育| 晋城| 汉源县| 晋州市| 贡嘎县| 平和县|