2.1.2 代理模式

原创 2016年08月28日 19:59:51
使用代理对象完成用户请求,屏蔽用户对真实对象的访问

本节应用:实现延迟加载,提升性能(只是应用场景的一种),系统启动时初始化代理类,等真正用时再加载真实资源

参与者:
     主题接口,定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法
     真实主题,实现业务逻辑的类
     代理类,代理和封装真实主题
     客户端,使用代理类和主题接口

静态代理(与动态代理区分,写好代码)
     一种实现:客户端依赖主题接口(使用主题接口),真实主题和代理类都实现主题接口,代理类聚合真实主题(包含了真实主题),图和代码见书P17

动态代理(代理类的字节码将在运行时生成并载入到当前ClassLoader)
1.JDK自带的动态代理
     代码见P18
2.CGLIB(推荐)
     使用方法类似JDK的动态代理
3.Javassist(推荐)
     代理工厂创建方法与CGLIB类似(性能差)
     动态代码创建方法
4.ASM(本书没提)
     要求最高,性能最好,但没有数量级的提升

用代理模式实现延迟加载的经典应用在Hibernate框架中
版权声明:本文为博主原创文章,未经博主允许不得转载。

浅析JavaScript设计模式——代理模式

代理模式 为一个对象提供一个代用品或占位符,以便控制对它的访问 好久没有写设计模式的文章了 今天要写的代理模式可能内容要多一些 代理模式非常有用,代理模式也分为很多很多种,我只谈一些常见并且...
  • q1056843325
  • q1056843325
  • 2016年11月17日 20:33
  • 1025

状态模式--策略模式--代理模式

状态模式:意图:   允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。适用性:   在下面的两种情况下均可使用 S t a t e模式:   • 一个对象的行为取决于它的...
  • lonewolf521125
  • lonewolf521125
  • 2015年05月19日 11:43
  • 908

代理模式的简单例子

【代理模式应用场景举例】比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家“提...
  • lishaojun0115
  • lishaojun0115
  • 2016年02月26日 11:51
  • 1683

谈谈JAVA的代理模式认识 一——为什么使用代理模式

一、中介隔离作用     代理模式,第一次接触它,是在学习.Net的时候看的一本书,叫做《大话设计模式》,至今已快三年了。相信看过这本书的同学们,都记得书中的代理模式,就是为他人做嫁衣裳的故事。好,我...
  • wangyongxia921
  • wangyongxia921
  • 2015年05月28日 16:24
  • 21902

Matplotlib 安装

C:\Program Files(x86)\Python36-32>pip install --user matplotlib-2.1.1-cp36-cp36m-win32.whl Processi...
  • Leo1212
  • Leo1212
  • 2018年01月13日 20:38
  • 87

【学习笔记javascript设计模式与开发实践(代理模式)----6】

第6章代理模式  代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。 代理模式是一种非常有意义的模式,在生活中可以找到很多代理模式的场景。比如明星都有经济人作为代理。如果想请明星来办一场...
  • pigpigpig4587
  • pigpigpig4587
  • 2015年12月16日 17:07
  • 1115

Android设计模式之代理模式 Proxy

一.概述 代理模式也是平时比较常用的设计模式之一,代理模式其实就是提供了一个新的对象,实现了对真实对象的操作,或成为真实对象的替身.在日常生活中也是很常见的.例如A要租房,为了省麻烦A...
  • l2show
  • l2show
  • 2015年07月28日 22:14
  • 20611

设计模式之代理模式 c++实现以及详解

代理模式分为四类:远程代理,虚代理,保护代理和智能引用。
  • hnust_xiehonghao
  • hnust_xiehonghao
  • 2014年05月22日 14:16
  • 3732

如何解决代理模式详解的原理详解

我特意将本系列改了下名字,原名是《设计模式学习之路》,原因是因为之前写过一篇《spring源码学习之路》,但是我感觉本次写二十三种设计模式,更多的还是分享给各位自己的理解,所以感觉学习之路有点不合适,...
  • t93z5uusca
  • t93z5uusca
  • 2017年05月10日 03:38
  • 387

机器学习笔记(7)逻辑回归

逻辑回归(logistic)实际上是线性回归推导出来的。而且是一种分类学习方法。由于简单的二分类0-1图像不连续,我们想找到一种连续且可微的函数替换他。logistic function 正是这阿样一...
  • A13155283231
  • A13155283231
  • 2017年11月23日 15:22
  • 69
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2.1.2 代理模式
举报原因:
原因补充:

(最多只允许输入30个字)