为别人做嫁衣——代理模式

代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。

代理模式(Proxy)结构图

  Subject类,定义了RealSuject和Proxy的共用的接口,这样就在任何使用RealSubject的地方都可以使用Proxy。

abstract class subject {
    public abstract void Request();
}

  RealSubject类,定义Proxy所代表的真实实体。

class RealSubject extends Subject{
    public void Request(){
        //真实的请求
    }
}

  Proxy类,保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来代替实体。

class Proxy extends Subject{
    RealSubject realSubject;
    public void Request(){
        if(realSubject == null){
            realSubject = new RealSubject();
        }
        realSubject.Request();
    }
}

  客户端代码

static void Main(String[] args){
    Proxy proxy = new Proxy();
    proxy.Request();
}

代理模式应用:

  第一种:远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实;

  第二种:虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真是对象;

  第三种:安全代理,用来控制真实对象访问时的权限;

  第四种:智能指引,是指当调用真实的对象时,代理处理另外一些事。

时间: 2024-11-14 12:07:25

为别人做嫁衣——代理模式的相关文章

《大话设计模式》——读后感 (4)为别人做嫁衣?——静态代理模式(1)

什么是代理模式: 代理模式结构图: 直接上代码: GiveGift接口: package com.sjmx.staticProxy; public interface GiveGift { void giveDolls(); void giveFlows(); void giveChocolate(); } 真实实体: package com.sjmx.staticProxy; public class Pursuit implements GiveGift { SchoolGirl girl;

6,代理模式(Proxy Pattern)就是为其他对象提供一种代理以控制对这个对象的访问。 比如: 智能指针 为别人做嫁衣

所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理. 概述 作为C++工程师,免不了要管理内存,内存管理也是C++中的难点,而智能指针采用引用计数的办法很方便的帮我们管理了内存的使用,极大方便了我们的工作效率.而智能指针的这种用法其实就是代理模式的一种,他帮我们控制了该对象的内存使用. 代理模式就是为其他对象提供一种代理来控制对这个对象的访问. subject(抽象主题角色):真实主题与代

设计模式之代理模式(Proxy)<收藏一下,参考别人的>

1.初识代理模式 生活中大家一定遇到这样的情况了:比如说我要买一条毛巾,不妨就是洁丽雅的吧,那一般人的话我应该不是去洁丽雅的工厂里面直接去买吧,而是我们 在洁丽雅专卖店或者什么超市啊,这些地方购买,这些地方实际上就是洁丽雅毛巾的代理.这其实和我们OO中的代理模式是很相似的. 一个it人士,上网应该是经常的事了吧,那么总会有这样的情况,打开一个网页,文字先出现,而那些比较大的资源,例如图片要等等才会显示出来,这是为什么呢??实际上这其中采用的就是代理模式. 2.代理模式的一个简单的例子 就说上面的

快速建立linux下的vpn服务器做加密代理

原文出处: http://www.xfocus.net/articles/200610/893.html 创建时间:2006-10-27文章属性:原创文章提交:fatb (fatb_at_security.zz.ha.cn) 作者:baoz日期:2006-10-26http://baoz.nethttp://xsec.org1妹儿:perlish(*)gmail.com or [email protected] (有时gmail收不到信或者会被当垃圾邮件过滤掉)欢迎转载任何人任何时候转载到任何地

23种设计模式----------代理模式(二)

(上一篇)23种设计模式----------代理模式(一) 之前说了基本的代理模式和普通代理模式.接下来开始看下强制代理模式和虚拟代理模式 三,强制代理模式: 一般的代理模式都是通过代理类找到被代理的对象,从而调用被代理类中的方法(即完成被代理类中的任务). 而,强制代理模式则是先找到被代理类自己去完成事情,然后被代理类又将该做的事情转交到代理类中,让代理类来完成. 假如:你有事求助于某位名人. 你告诉名人说有事想请他帮忙,然后他说最近一段时间比较忙,要不你找我的经纪人来办吧. (本来找名人办事

用代理模式 保持用户关闭链接的习惯

package cn.itcast.jdbc.datasourse; import java.sql.Array;import java.sql.Blob;import java.sql.CallableStatement;import java.sql.Clob;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.NClob;import java.sql.PreparedStatement;i

2017年淘客全新玩法——代理模式

2017年必将会是淘客的一个转折年. 在这之前,他的火爆完全是在依托流量,不管是微信还是QQ群,谁的流量多,谁的收益就多就越是能脱颖而出.然而到了今年,如果还在依托固有的泛流量思维定式,90%以上的人会被淘汰出局. 当然我不是说流量不管用了,而是说在获取流量的方式上,会发生很大的变化,也就是引流.之前在松松博客上面曾经发表过一篇关于群维护的文章,可以和这篇互补来看,具体参考<听说你的淘客群又做死了?来学学群维护这几招!> 如今红包裂变是越来越难了,成本也在不断高升,那么今年的新路子会是什么?我

Java反射、Java代理模式

简单来说,JAVA反射是利用类名称来获得这个类的所有信息:代理,是有个传递过程,将自己的类对象传给其他类,让其他类来代理自己的类对象然后做事: 比喻:订外卖,送餐小哥手里的外卖就是我的对象,是我让他送的.静态代理就是我告诉送餐小哥外卖是我的(假设外卖小哥认识我),然后他直接就奔着我来了:动态代理就是我不告诉送餐小哥我是谁,他也不认识我,我只告诉他我的电话或者地址,他自己想办法找到我:注意,他有什么办法找到我呢?就是反射,他利用我的电话和地址,就知道我的一切了(夸张的说)就可以找到我了. 下面通过

详解代理模式:女朋友这么漂亮,你缺经纪人吗?

一 摘要 晚上看了关于代理模式的一篇文章,写的非常生动,来过来分享给大家.这里我就PHP代理模式给大家进行详细说明.下面我们来看一看 这几天王宝强妻子出轨经纪人事件惹尽了眼球,"你缺经纪人吗" 一下子成为打招呼必备热词.在紧跟"潮流"之前我们有必要了解下,经纪人都负责为宝强做哪些事呢? 1. 为宝强安排档期 2. 为宝强做公关 3. 为宝强照顾老婆 从上面可以发现,宝强几乎被架空了,陷入了一场圈套之中啦.这里还是借用别人画的一个图. 下面我们来看一下用UML类图具体