概要
为其他对象提供一种代理以控制对这个对象的访问。
类图

运行

代码
using System;
namespace 代理模式
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Client client = new Client();
client.mian();
Console.ReadLine();
}
}
interface Subject
{
void sort();
void run();
}
class Proxy : Subject
{
Subject real;
public Proxy(Subject subject)
{
real = subject;
}
public void run()
{
real.run();
}
public void sort()
{
real.sort();
}
}
class TankRealSubject : Subject
{
public void run()
{
Console.WriteLine("跑");
}
public void sort()
{
Console.WriteLine("射击");
}
}
class Client
{
public void mian()
{
TankRealSubject tank = new TankRealSubject();
Proxy proxy = new Proxy(tank);
proxy.sort();
proxy.run();
}
}
}
本文介绍了一种软件设计模式——代理模式,通过为其他对象提供代理来控制对原对象的访问。通过C#代码示例详细展示了代理模式的类图、运行流程及具体实现,包括Subject接口、TankRealSubject真实主题类和Proxy代理类的定义。
195

被折叠的 条评论
为什么被折叠?



