04—代理模式

简单的描述一下,其实代理模式挺好理解的,比如果你的朋友出国了,让他帮你在国外买个苹果手机,这就是代理模式了。
代理模式:为其他对像提供一种代理以控制对这个对像的访问。

上代码:

 //Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy
    abstract class Subject
    {
        public abstract void Request();
    }
    //RealSubject类,定义Proxy所代表的真实实体
    class RealSubject : Subject
    {
        public override void Request()
        {
            Console.WriteLine("真实的请求");
        }
    }
    //Proxy类,保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来代替实体。
    class Proxy : Subject
    {
        RealSubject realSubject;
        public override void Request()
        {
            if (realSubject == null)
            {
                realSubject = new RealSubject();
            }
            realSubject.Request();
        }
    }
    class Program
    {
        //调用
        static void Main(string[] args)
        {
            Proxy proxy = new Proxy();
            proxy.Request();
            Console.ReadLine();
        }
    }

代理模式的应用:
1.远程代理,也就是为一个对像在不同的地址空间提供局部代表,这样可以隐藏一个对像存在于不同地址空间的事实。
2.虚拟代理,是根据需要创建开销很大的对像。通过它来存放实例化需要很长时间的真实对像。
3.安全代理,用来控制真实对像访问时的权限。
4.智能指引,是指当调用真实的对像时,代理处理另外一些事。

代码里有两部分程序,一个是代买手机的一个是咱们这个实例:点击下载

时间: 2024-08-03 11:55:31

04—代理模式的相关文章

Objective-C中的委托(代理)模式

我个人更喜欢把委托(Delegate)模式称为代理(Proxy)模式.还是那句话,第一次接触代理模式是在Java中接触的,在Java中实现代理模式和接口是少不了的.当时学习Spring的时候用到了接口回调,其实就是实现的委托代理模式.简单的说代理就是把相应的功能交给实现接口的相应的类中来解决.在OC中没有接口该如何实现代理呢?前面的博客中笔者说提了一句,在OC中的协议和Java中的接口极为相似,都是只声明方法而不去实现,方法的实现在OC中交个遵循协议的类,而在Java中方法的实现交给实现接口的类

JAVA CAS单点登录之三:CAS代理模式演练

前言 JAVA CAS单点登录之一:搭建CAS服务器 JAVA CAS单点登录之二:CAS普通模式1演练 代理模式相相对上一节的普通模式,更加复杂了.但配置起来也会稍微有些差别.所谓难者不会,会者不难.如果遇到一个从来没有遇到的问题,解决起来也是非常棘手的,当然解决之后就不是事了.我就遇到了一个CAS 坑爹的错误.一步步按照别人的博客坐下来,普通模式部署没有多大问题,就是不知道为什么代理模式总是出错,搜遍了整个网络,也没找到问题所在,我就纳闷了,为什么就没有人 遇到过呢.还好,最后我使用了杀手锏

设计模式 笔记 代理模式 Proxy

//---------------------------15/04/21---------------------------- //Proxy 代理模式-----对象结构型模式 /* 1:意图: 为其他对象提供一种代理以控制对这个对象的访问. 2:别名: Surrogate 3:动机: 4:适用性: 1>远程代理: 为一个对象在不同的地址空间提供局部代表. 2>虚代理: 根据需要创建开销很大的对象. 3>保护代理: 控制对原始对象的访问.保护代理用于对象应该有不同的访问权限的时候.

读书笔记_java设计模式深入研究 第七章 代理模式 Proxy

1,代理模式:一个类可以用作其他东西的接口,其他类可以通过此类去访问被代理者. 2,UML图如下: 3,角色: ISubject:抽象主题接口,该接口定义对象和它的代理共用的接口. RealSubject:真实主题角色,使实现抽象主题接口的类. Proxy:代理角色,内部含有对真实对象的引用,从而可以操作真实对象,代理对象提供与真实对象相同的接口,以便在任何时候都可以替代真实对象. 4,简单代码: package pattern.chp07.proxy;   /** * 类描述:抽象主题接口 *

代理模式 与 Spring AOP

AOP:在一个服务的流程中插入与业务逻辑无关的系统服务逻辑(例如Logging.Security),这样的逻辑称为Cross-cutting concerns,将Cross-cutting concerns独立出来设计为一个对象,这样的特殊对象称之为Aspect,Aspect-oriented programming着重在Aspect的设计上以及与应用程序的织入(Weave). 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把

【java入门点滴】代理模式

所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用. 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用.代理模式是对象的结构模式. 在代理模式中的角色: ● 抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象. ● 目标对象角色:定义了代理对象所代表的目标对象. ● 代理对象角色:代理对象内部含有目标对

Java 设计模式_代理模式(2016-08-19)

概念: 代理模式是对象的结构模式.代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用. 就是一个人或者机构代表另一个人或者机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 类图: 在代理模式中的角色: ● 抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象. ● 目标对象角色:定义了代理对象所代表的目标对象. ● 代理对象角色:代理对象内部含有目标对象的

Java设计模式之-------->"代理模式"

01.什么是代理模式? 解析:代理(Proxy):代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不想或者不能直接引用另一个对象, 而代理对象可以在客户端和目标对象之间起到中介的作用.代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象. 这些额外的操作通常需要与实际对象进行通信. 02.代理的组成都有什么? 解析:由三部分组成,分别是:抽象对象(Subject 接口),真实对象(RealSubject 实现了Subje

Spring框架_代理模式(静态代理,动态代理,cglib代理)

共性问题: 1. 服务器启动报错,什么原因? * jar包缺少.jar包冲突 1) 先检查项目中是否缺少jar包引用 2) 服务器: 检查jar包有没有发布到服务器下:                                      用户库jar包,需要手动发布到tomcat. (每次新建项目) 3) 重新发布项目 * 配置文件错误 (web.xml / struts.xml /bean.xml /hibernate.xml / *.hbm.xml) 明确的提示 * 端口占用 * we