我的代理人(Proxy)
来源:互联网 发布:js 手机日期选择控件 编辑:程序博客网 时间:2024/04/29 11:17
很显然.我们目前所生活的世界里.到处都有这类人.他们很愿意帮助我们去完成我自身完成起来很困难的工作.愿意充当一个中间层.在这一个层次中.Proxy代理就是主导.他会为我们处理那些看上去很别扭的事情.毕竟我们的目的是制定总体方针.儿细节可以交给代理来完成.事实上,很多情况.我们都用到了代理.例如典型的我们在.NET中使用WebService就已经在使用Proxy.通过这个代理和实际的远程对象打交道.实际的远程对象又是通过WebService做接口来传递.这也就是所谓的远程代理.当然还有很多的代理例子.如.你要写一个又权限的东西.所以客户不能自己和这种东西打交道.所以,由代理来管理权限而客户通过代理来和实际对象打交道.这也就是所谓的保护代理.实际上由于是代理所以客户也无需管理实际对象的释放和创建.这也是通过代理来完成的.
假设.我是一个骑士正要被一位美丽的公主接见.我很荣幸.不幸的是公主只和在这次战役有战功的人见面.所以必须出示我的勋章.才可以和公主见面.OK让我们来模拟这一场面.
namespace ProxyMeeting
{
using System;
intface IMeeting
{
void KMeeting();
}
class Knight : IMeeting
{
private bool exploit ;
private string KName;
public Knight(string KN)
{
从数据库查询是否有功绩
this.exploit=IsExploit;
}
public void Request()
{
if(exploit)
Console.WriteLine("接见成功");
else
Console.WriteLine("无法接见");
}
}
class Proxy : IMeeting
{
private Knight KM;
public string KName;
public void Request()
{
if (KM == null)
KM = new Knight(this.KName);
KM.Request();
}
}
//实际见面
public class Infanta
{
public static int Main(string[] args)
{
//公主并不直接和骑士打交道.而是通过代理
Proxy p = new Proxy();
p.KName="yarshray";
P.Request();
return 0;
}
}
}
这里可以看出.公主并未和骑士直接打交道而是通过代理.即使骑士的创建工作也是由代理来完成.并且代理也管理了骑士是否在这次战役中建立功勋.来决定最终是否和公主见面.一切都很我们预想的一样不是吗?
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- 我的代理人(Proxy)
- 我的代理人(Proxy)
- 关于OC中委托(代理人)的理解
- 我的nexus的proxy列表
- activiti学习--12 个人任务及三种分配方式:直接设置代理人+流程变量设置代理人+实现类的方式设置代理人+将任务代理人设置为别人
- 代理人模式
- [断断续续,瞎掰胡扯]我的设计模式-Proxy(代理)
- 我看懂的设计模式 Proxy,代理模式
- 我的设计模式-装饰(Decorator)、代理(Proxy)
- OC协议创建的步骤以及设置新代理人的步骤
- 关于2006年度全国土地登记代理人职业资格考试工作的通知
- 工作流代理人机制研究
- 代理人网站创意
- 代理人Bind相关
- Java Proxy动态代理详解,传说中的AOP的一个应用,(我读ibatis)
- 我所理解的设计模式(C++实现)——代理模式(Proxy Pattern)
- 我所理解的设计模式(C++实现)——代理模式(Proxy Pattern)
- hibernate中的lazy的proxy no-proxy
- Attribute在.NET编程中的应用(四)
- ARM 开发软件及实用工具介绍
- dotnet学习笔记二 - 运行.net程序的秘密
- 他两次都没能感动CCTV,却感动了我们!
- Abstract Factory模式示例
- 我的代理人(Proxy)
- 白盒测试之基本路径测试法
- dotnet学习笔记三 - 程序域程序集
- 用C# Builder实现文件下载
- 企业网站负载均衡解决方案
- dotnet学习笔记四 - 无用单元回收
- .NET Framework 介绍
- Hibernate中Session.get()/load()之区别
- 深入考察两种Web服务架构