代理模式

Spring AOP就是使用的动态代理

概念:在代理模式(Proxy Pattern)中,一个类代表另一个类的功能,创建具有现有对象的对象,以便向外界提供功能接口

意图:为其他对象提供一种代理以控制对这个对象的访问

主要解决:在直接访问对象时带来的问题

何时使用:想在访问一个类时做一些控制

如何解决:增加中间层

关键点:实现与被代理类组合

应用实例:Windows里面的快捷方式。买火车票不一定去火车站买,也可以去代售点买

优点
1.职责清晰
2.高扩展性
3.智能化

缺点
1.由于在客服端和真实主题之间增加了代理对象,因此处理速度会变慢
2.实现代理模式需要额外的工作,有些代理模式的实现非常复杂

使用场景
远程代理、虚拟代理、Copy-on-Write代理、保护代理、Cache代理、防火墙代理、同步化代理、智能引用代理

实现

package Proxy;public interface Company {//讨债void getMoney();
}
package Proxy;public class Human implements Company {@Overridepublic void getMoney() {System.out.println("200W");}
}
package Proxy;public class Person implements Company {@Overridepublic void getMoney() {System.out.println("当事人100W");}
}
package Proxy;public class Proxy implements Company {Company company;public Proxy(Company company){this.company = company;}@Overridepublic void getMoney() {//执行Person类的方法company.getMoney();}
}
package Proxy;public class Test {public static void main(String[] args) {Company company = new Human();Company proxy = new Proxy(company);proxy.getMoney();}
}

大话设计模式-代理模式相关推荐

  1. 大话设计模式-代理模式(大鸟和小菜Java版)

    代理模式:在代理模式(Proxy Pattern)中,一个类代表另一个类的功能.这种类型的设计模式属于结构型模式. 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 以上就是代理模式 ...

  2. 大话设计模式—代理模式

    在代理模式(Proxy Pattern)中,一个类代表另一个类的功能.这种类型的设计模式属于结构型模式.我们创建具有现有对象的对象,以便向外界提供功能接口. 大话设计模式中程杰老师的给出的解释是代理模 ...

  3. linkin大话设计模式--代理模式

    代理模式是一种应用非常广泛的设计模式,当客户端代码需要调用某个对象的时候,客户端并不关心是否可以准确的得到这个对象,他只要一个能够提供该功能的对象而已,此时我们就可以返回该对象的代理.总而言之,客户端 ...

  4. linkin大话设计模式--常用模式总结

    linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. Adapter( ...

  5. Python设计模式-代理模式

    Python设计模式-代理模式 基于Python3.5.2,代码如下 #coding:utf-8info_struct = dict() info_struct["addr"] = ...

  6. Java设计模式(代理模式-模板方法模式-命令模式)

    Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...

  7. 设计模式——代理模式

    设计模式--代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能 ...

  8. 23种设计模式----------代理模式(一)

    代理模式也叫委托模式. 代理模式定义:对其他对象提供一种代理从而控制对这个对象的访问.就是,代理类 代理 被代理类,来执行被代理类里的方法. 一般情况下,代理模式化有三个角色. 1,抽象的主题类(或者 ...

  9. java设计模式代理模式_Java中的代理设计模式

    java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...

最新文章

  1. android控制电脑,android-remote-control-computer
  2. 碎碎念 | 投资理财那些事
  3. None.org.apache.spark.api.python.PythonAccumulatorV2
  4. typeof 数据类型转换
  5. react判断点击位置是否为组件内,实现点击外部触发组件内事件
  6. Scala案例:词频统计
  7. 雪花算法(SnowFlake)
  8. 《未来世界的幸存者》读书摘录及笔记
  9. java静态链表_Java数据结构——静态链表实现
  10. endnote文献使用简明教程+遇到问题
  11. 纯ALOHA协议和时隙ALOHA协议简单总结
  12. 刻录cd(不同系统的方式)
  13. cmd输入光标消失解决
  14. 遍历文件夹将dicom文件转换为nifty文件
  15. bash-記錄修改OFS和ORS讓$0重新計算
  16. uVision, MDK, realview的关系
  17. 20160808某公司嵌入式面试总结(加个人答案)
  18. Procmon打开后无反应的问题
  19. scrapy ,Selenium 企查查模拟登录
  20. (详细介绍)程序员专属接单平台,赚钱的同时提升自己的技术,并附多个快速开发的脚手架项目开箱即用

热门文章

  1. 微分方程中的自洽系统(Autonomous system)
  2. android开发笔记之APK大小优化
  3. 卫星地图影像数据在城市规划中的应用
  4. Canvas - 绘制图片模糊问题(canvas 生成图片模糊)
  5. 在Ubuntu中添加和删除PPA的软件源
  6. 机器学习 --- 决策树(educode实训作业)
  7. OA办公自动化系统选购指南
  8. 为什么不推荐用破解版的winrar
  9. 基于Optsim Circuit和OptoDesigner设计QPSK收发器光子集成芯片
  10. ANSYS-复杂力学接触分析-接触不收敛的调试方法(1)