淺談C#設(shè)計(jì)模式之代理模式
代理模式是常用的結(jié)構(gòu)型設(shè)計(jì)模式之一,當(dāng)無法直接訪問某個(gè)對象或訪問某個(gè)對象存在困難時(shí)可以通過一個(gè)代理對象來間接訪問,為了保證客戶端使用的透明性,所訪問的真實(shí)對象與代理對象需要實(shí)現(xiàn)相同的接口.根據(jù)代理模式的使用目的不同,代理模式又可以分為多種類型,例如保護(hù)代理、遠(yuǎn)程代理、虛擬代理、緩沖代理等,它們應(yīng)用于不同的場合,滿足用戶的不同需求
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+"送蛋糕");
}
}
}
客戶端調(diào)用:
ZQZ zzz = new ZQZ();
zzz.myname = "朱建軍";
Proxy p = new Proxy(zzz);
p.SendFlower();
p.SendCake();
代理模式分類:
1. 遠(yuǎn)程代理,也就是為一個(gè)對象在不同的地址空間提供局部代表,這樣可以隱藏一個(gè)對象存在于不同地址空間的事實(shí)。
例如: webservice 服務(wù)
2. 虛擬代理, 是根據(jù)需要?jiǎng)?chuàng)建開銷很大的對象。通過它來存放實(shí)例化需要很長時(shí)間的真是對象。
瀏覽器當(dāng)中是用代理模式來優(yōu)化下載頁面的
3.安全代理
用來控制真實(shí)對象訪問時(shí)的權(quán)限。
4.智能指引
是指調(diào)用真實(shí)對象時(shí),代理處理另外一些事。
- 解析C#設(shè)計(jì)模式編程中外觀模式Facade Pattern的應(yīng)用
- C# 設(shè)計(jì)模式系列教程-外觀模式
- C#設(shè)計(jì)模式之外觀模式介紹
- C#設(shè)計(jì)模式之單例模式實(shí)例講解
- c#設(shè)計(jì)模式 適配器模式詳細(xì)介紹
- C#設(shè)計(jì)模式之觀察者模式實(shí)例講解
- 詳解C#的設(shè)計(jì)模式編程之抽象工廠模式的應(yīng)用
- C#中利用代理實(shí)現(xiàn)觀察者設(shè)計(jì)模式詳解
- C# 設(shè)計(jì)模式系列教程-策略模式
- 解析C#設(shè)計(jì)模式編程中的裝飾者模式
- C#設(shè)計(jì)模式之Facade外觀模式解決天河城購物問題示例
相關(guān)文章
C# datagrid非常規(guī)方法實(shí)現(xiàn)添加合并列
這篇文章主要介紹了C# datagrid非常規(guī)方法實(shí)現(xiàn)添加合并列,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
C#實(shí)現(xiàn)在購物車系統(tǒng)中生成不重復(fù)訂單號的方法
這篇文章主要介紹了C#實(shí)現(xiàn)在購物車系統(tǒng)中生成不重復(fù)訂單號的方法,涉及C#中時(shí)間與字符串操作的相關(guān)技巧,非常簡單實(shí)用,需要的朋友可以參考下2015-05-05
C#調(diào)用WebService實(shí)例開發(fā)
那么,我們怎么在項(xiàng)目中調(diào)用WebService這個(gè)方法呢,其實(shí)這和調(diào)用天氣的webservice是一個(gè)道理,首先,通過添加“web服務(wù) 引用”將,你寫的webservice引用進(jìn)來,我們需要注意的是其中有一處要我們填寫請求webservice的URL地址,我們該怎么寫?2015-09-09
C# 實(shí)現(xiàn)簡易的串口監(jiān)視上位機(jī)功能附源碼下載
這篇文章主要介紹了C# 實(shí)現(xiàn)簡易的串口監(jiān)視上位機(jī)功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11

