代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
一般来说分为4种:(1)远程代理,也就是为一个对象在不同的地址空间提供局部代表,这样就可以隐藏一个对象存在于不同地址空间的事实。(2)虚拟代理,是根据需要创建需求很大的对象,通过它来存放实例化需要很长时间的真实对象。这样就可以达到性能的最优化,比如说你打开一个很大的HTML网页时,里面可能有很多的文字和图片,但是你还是可以很快的打开它,此时你所看到的是所有的文字,但图片却是一张一张的下载后才能看到,那些未打开的图片框,就是通过虚拟代理来替代了真实图片,此时代理存储了真是图片的路径和尺寸。(3)安全代理,用来控制真是对象访问的权限。(4)智能指引,是指当调用真实的对象时,代理处理另外一些事。
代理模式(Proxy)的UML类图:
代理模式(Proxy)说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。
代理模式实现:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Proxy
{
//定义实体和代理的实现接口
abstract class Subject
{
public abstract void request();
}
//RealSubject代表了真实实体
class RealSubject : Subject
{
public override void request()
{
Console.WriteLine("真实实体实现接口中的方法,真实的请求...");
//throw new NotImplementedException();
}
}
//Proxy类代表代理类,同样实现接口方法
class Proxy : Subject
{
private RealSubject rs;
public RealSubject getRS()
{
return this.rs;
}
public void setRS(RealSubject rs)
{
this.rs = rs;
}
public override void request()
{
this.rs = new RealSubject();
//调用真实实体的方法实现
Console.WriteLine("该代理实体调用真是实体的方法...");
this.rs.request();
//throw new NotImplementedException();
}
}
}
//客户端程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Proxy
{
class Program
{
static void Main(string[] args)
{
//实体化一个代理对象
Proxy proxy = new Proxy();
//代理对象实现真实实体的请求,体现出来代理模式
proxy.request();
Console.Read();
}
}
}
分享到:
相关推荐
全部高质量代理模式proxy的java源程序 java.proxy,代理模式源码,设计模式,apache开源项目源码commons-proxy-1.0-src 各种代理模式操作的工具类源码以及代理模式案例源码,你会从中得到意想不到的效果! apache...
为其他对象提供一个代理以控制对这个对象的访问。
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
代码仅供参考学习 。
NULL 博文链接:https://wy649898543.iteye.com/blog/1431997
java 代理模式demo ,主要就是对代理模式的一种实现过程,用于刚接触代理模式的人使用,里面介绍了两种代理模式,一种是静态代理,另一种是动态代理的实现Demo
设计模式C++学习之代理模式(Proxy)
2、代理模式(Proxy) 用意:为其它对象提供一种代理以控制对这个对象的访问
C#写的一份包含代理模式Proxy的基本实现代码和一个应用案例代码,有助于Proxy的理解和学以致用。
Android设计模式之代理模式(Proxy Pattern)
代理模式也是平时比较常用的设计模式之一,代理模式其实就是提供了一个新的对象,实现了对真实对象的操作,或成为真实对象的替身.在日常生活中也是很常见的.例如A要租房,为了省麻烦A会去找中介,中介会替代A去筛选房子,A...
2、代理模式PROXY PATTERN 3、单例模式SINGLETON PATTERN 4、多例模式MULTITION PATTERN 5、工厂方法模式FACTORY METHOD PATTERN 6、抽象工厂模式ABSTRACT FACTORY PATTERN 7、门面模式FACADE PATTERN 8、适配器...
代理模式java代码 Proxy(4) 开发宝典......
观察者模式 Observer:Swing中的事件模型 工厂模式 Factory:在JDK中遍地都是,比如JDBC、JNDI等,是...Strategy:java.util.Comparator就用到了它 代理模式 Proxy:学习Spring IoC容器必须掌握的模式 <br>
JAVA Proxy 代理模式
Proxy代理模式的经典实例(很有面向对象思想哦)。快速学会Proxy代理模式.
代理模式java代码 Proxy(1) java 学习必备......
java 代理模式实现代码及设计详解:动态代理模式、静态代理模式
Proxy Pattern 代理模式 采用JAVA实现,可以下载看看。
代理模式是一种设计模式,其定义是为其他对象提供一种代理以控制对这个对象的访问。 代理模式的核心在于提供一个代理来控制和限制对另一个对象的直接访问。这种模式通常用于以下几种情况: 远程代理:当对象位于...