关于代理模式的个人理解

静态代理模式:

  实际上使用的时候,某些接口的实现类满足不了条件,或者想改变少部分方法的实现.采用静态代理模式

静态代理实际上新实现一个接口, 但是这个类里面有一个 老的实现类的引用. 重写需要改变的方法, 不许改变的方法直接调用老的方法就好

动态代理模式:

  如果采用静态代理发现相同的代码太多了. 可以该用动态代理代码 在invoke方法里面讲 共同代码写在哪里. 特殊的采用 :

  if(Connection.class.isAssignableFrom(proxy.getClass()) && method.getName().equals("close")){   do 特殊的事情处理  }总体来说代理类 就是 增加一些功能 不改变原有代码.  或者提炼原有代码的公共点
时间: 2024-09-29 22:26:48

关于代理模式的个人理解的相关文章

四(2)、复用类补充之关于代理模式的一点理解

一.关于代理模式的几个概念 1.比如A要去租房,通过中介B,租到C家的房子,这里B就是A的代理. 代理可以认为是之前介绍的组合和继承的折中模式,它有继承的部分也有组合的部分. 2.代理的结构 1)抽象主题角色: 声明了真实主题和代理主题的共同的接口. 2)代理主题角色:内部含有真实主题的引用, 从而可以再任何时候操作真实主体对象:提供了一个与真实主题相同的接口,以便可以替代真实主题. 3)真实主题角色:抽象主题的实现,是具体被代理的对象. 二.三种常见的代理模式 1.普通代理模式 1 packa

静(动)态代理模式、适配器模式

一.代理模式(Proxy): (1)静态代理模式: 简单理解: 一个人或事物代替另一个人或事物做某件事.例如:在Tom自我介绍之前,代理器自动帮他说Hello. 实现: 1 public interface Subject { 2 3 public void print(); 4 } 5 6 public class RealSubject implements Subject{ 7 8 public void print(){ 9 System.out.println("I am Tom&qu

iOS代理模式

iOS代理模式的简单理解:当一个对象无法直接获取到另一个对象的指针,又希望对那个变量进行一些操作时,可以使用代理模式. 代理主要由三部分组成: (1)协议:用来指定代理双方可以做什么,必须做什么. (2)代理:根据指定的协议,完成委托方需要实现的功能. (3)委托:根据指定的协议,指定代理去完成什么功能. 代理使用步骤 1.申明一个协议  (这个写在需要被获取的对象里面,也可以单独写一个类) @protocol TextDelegate -(void)deliverFirsttext:(NSSt

04—代理模式

简单的描述一下,其实代理模式挺好理解的,比如果你的朋友出国了,让他帮你在国外买个苹果手机,这就是代理模式了.代理模式:为其他对像提供一种代理以控制对这个对像的访问. 上代码: //Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy abstract class Subject { public abstract void Request(); } //RealSubject类,定义Proxy所代表的真实实体 cl

<四>读<<大话设计模式>>之代理模式

代理模式我想大家即便不熟悉也都听过吧,从字面意思上看就是替别人干活的,比方代理商.在项目的实际应用中也有非常多地方用到.比方spring通过代理模式生成对象等. 代理模式的书面定义:为其它对象提供一种代理以控制对这个对象的訪问. 在某些情况下,一个对象不适合或者不能直接引用还有一个对象,而代理对象能够在client和目标对象之间起到中介的作用. 在<<大话设计模式>>一书中以一个有男朋友的女孩让"小菜"帮忙修电脑的故事展开的,事实上说白了代理就是帮别人干活的,一

设计模式之Proxy模式(代理模式)

代理模式很容易理解,就是代替别人去做某一件事,打个比方,我们需要买水果,一般是去超市或者水果店买水果,很少有人去果园买水果,果园是生产水果的地方,但很少出售水果,在这里,水果店,超市就成了代理. 首先定义一个抽象类,提供所有的函数接口. 定义卖水果的抽象类,也就是接口,果园与超市都要继承这个类. #pragma once class CSellFruits//定义一个抽象类 { public: CSellFruits(void); virtual ~CSellFruits(void); virt

代理模式之基础

"代理"这个熟悉而又陌生的词语,熟悉是因为在生活中随处可见:超市就是一个简单的代理:让别人代送礼物是一个代理:让别人传递一个消息也是一个代理...看吧在生活这么多代理,但是这个组成的代理模式到底是什么呢?它又有什么用途呢?没有它会怎么样?等等一些列的问题围绕着我,那么接下来就一块学习下代理模式吧! 一.是什么? 代理模式(proxy)很官方的说法,为其他对象提供一种代理以控制对这个对象的访问.说白了就是为这个对象解耦,由原来的直接访问到间接访问,这样将其分离达到解耦的目的.UML图:

&lt;四&gt;读&lt;&lt;大话设计模式&gt;&gt;之代理模式

代理模式我想大家即便不熟悉也都听过吧,从字面意思上看就是替别人干活的,比如代理商.在项目的实际应用中也有很多地方用到,比如spring通过代理模式生成对象等. 代理模式的书面定义:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 在<<大话设计模式>>一书中以一个有男朋友的女孩让"小菜"帮忙修电脑的故事展开的,其实说白了代理就是帮别人干活的,一般老板不出面,

书上说,浏览器图片加载的时候,就是使用代理模式,这个我很疑惑

书上说,浏览器在加载图片的时候,使用的是代理模式,这个我感到非常的疑惑,因为代理模式我的理解是访问上的控制,如同包工头的作用,但是图片在刚开始加载的时候,如果与代理模式联系起来, 难道说,我要加载图片,我是未加载图片的代理,我先帮它顶包,等到它搞定后事,处理完所有内容之后,我在把 别人想看图片的内容,转发给他,从而加载出新的图片内容,肚子好饿啊,混沌吃不饱啊. 真的如此么,那么我对代理模式,真的除了当包工头之外,还能当顶包的么 原文地址:https://www.cnblogs.com/wangc