
using System;
using System.Collections.Generic;
/// <summary>
/// 接口类
/// </summary>
interface IProxy
{
string function1();
string function2();
}
/// <summary>
/// 实际类
/// </summary>
public class LongDistanceClass:IProxy
{
public string function1()
{
return "LongDistanceClass.function1";
}
public string function2()
{
return "LongDistanceClass.function2";
}
}
/// <summary>
/// 代理类
/// </summary>
public class ProxyClass:IProxy
{
public string function1()
{
LongDistanceClass myLongDistanceClass=new LongDistanceClass();
return myLongDistanceClass.function1();
}
public string function2()
{
LongDistanceClass myLongDistanceClass=new LongDistanceClass();
return myLongDistanceClass.function2();
}
}
public class MyClass
{
public static void Main()
{
IProxy myproxy=new ProxyClass();
Console.WriteLine(myproxy.function1());
Console.WriteLine(myproxy.function2());
Console.ReadLine();
}
}
using System.Collections.Generic;
/// <summary>
/// 接口类
/// </summary>
interface IProxy
{
string function1();
string function2();
}
/// <summary>
/// 实际类
/// </summary>
public class LongDistanceClass:IProxy
{
public string function1()
{
return "LongDistanceClass.function1";
}
public string function2()
{
return "LongDistanceClass.function2";
}
}
/// <summary>
/// 代理类
/// </summary>
public class ProxyClass:IProxy
{
public string function1()
{
LongDistanceClass myLongDistanceClass=new LongDistanceClass();
return myLongDistanceClass.function1();
}
public string function2()
{
LongDistanceClass myLongDistanceClass=new LongDistanceClass();
return myLongDistanceClass.function2();
}
}
public class MyClass
{
public static void Main()
{
IProxy myproxy=new ProxyClass();
Console.WriteLine(myproxy.function1());
Console.WriteLine(myproxy.function2());
Console.ReadLine();
}
}
摘要:在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来代替目标对象打点一切。这就是本文要说的Proxy模式。