日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

Proxy Pattern using C# (转载)

發布時間:2023/11/29 C# 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Proxy Pattern using C# (转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Proxy Pattern(代理模式)屬于Structural Pattern(結構型模式),Proxy Pattern-為Client真正要調用的對象提供一個代理(Surrogate or placeholder),來控制Client對該對象的訪問。

?

1. UML class diagram:

上圖Proxy class就是一個代理類,負責轉發來自Client的請求到真正的RealSubject對象。Proxy Class和RealSubject Class共同繼承抽象類Subject。

?

2. Sample code

上述UML class diagram的實現代碼(from reference 1):

// Proxy pattern – Demo code

using System;

// 抽象類
abstract class Subject
{
? abstract public void Request();
}

// 實際要調用的類
class RealSubject : Subject
{
? override public void Request()
?{
??? Console.WriteLine("Called RealSubject.Request()");
?}
}
// 代理類
class Proxy : Subject
{
?? RealSubject realSubject;
?// Methods
? override public void Request()
?{
??? // Uses "lazy initialization"
??? if( realSubject == null )
????? realSubject = new RealSubject();

??? realSubject.Request();
?}
}

/// <summary>
/// Client test
/// </summary>
public class Client
{
? public static void Main( string[] args )
?{
??? // Create proxy and request a service
??? Proxy p = new Proxy();
??? p.Request();
?}
}

?

3. Appendix about the article

溫故而知新,運用于無形。

?

.Net Framework中大量使用到Proxy Design Pattern,如.Net Remoting中的SAO (Server Activated Object)或CAO (Client Activated Object),XML Web Services等,Client端都是通過本地Proxy class來轉發對Remote Objects or Services的請求,和獲取來自Remote的響應。

?

Reference:

1,Proxy Design Pattern, http://www.dofactory.com/patterns/PatternProxy.aspx

總結

以上是生活随笔為你收集整理的Proxy Pattern using C# (转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。