欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2014年12月17日 10:54:06   投稿:hebedich  
這篇文章主要介紹了淺談C#設計模式之代理模式,需要的朋友可以參考下

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

復制代碼 代碼如下:

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. 虛擬代理, 是根據(jù)需要創(chuàng)建開銷很大的對象。通過它來存放實例化需要很長時間的真是對象。

  瀏覽器當中是用代理模式來優(yōu)化下載頁面的

3.安全代理

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

4.智能指引

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

相關文章

最新評論