代理模式是一种结构型模式,通常源于下边的情况:人们对于复杂的软件系统常常有一种处理手法,即增加一个间接层,从而对系统获得一种更为灵活,满足特定需要的解决方案。例如下图中,B有安全控制或者是缓存控制。B中存在A根本不需要知道的控制方式。A直接使用B,结构上复杂,实现也不方便。A直接使用B的方式,控制不够灵活,可能要用到A根本不知道的方式。增加一个间接层,从而对系统获得更为灵活、满足特定需要的解决方案...
分类:
其他好文 时间:
2014-07-22 23:03:32
阅读次数:
278
第一部分、代理模式
代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调....
分类:
编程语言 时间:
2014-05-05 10:32:16
阅读次数:
472
想象一个场景:现在我们要计算一个给定包中的一个类Tank的放run()的运行时间,并不是计算new
Tank().run()的时间,因为new包含JDK实例化的时间。这里要求是纯粹计算run方法的时间。方法有两种:继承和聚合。1、继承 1 package
program.proxy.model; 2...
分类:
其他好文 时间:
2014-05-04 11:45:24
阅读次数:
350
常用的有创新型的设计模式:简单工厂、抽象工厂和单例模式;行为型的设计模式:模板设计模式、观察者模式和命令模式;结构性的设计模式:适配器设计模式、代理模式(静态和动态两种,典型的有在spring的AOP编程中使用)和装饰器设计模式。...
分类:
其他好文 时间:
2014-05-04 08:56:36
阅读次数:
313
代理模式与装饰器模式的区别,主要大于,从使用者(客户端)的角度来看的://装饰器的客户public class Client{ public static
void main(String[] args){ //客户指定了装饰者需要装饰的是哪一个类 ...
分类:
其他好文 时间:
2014-05-01 18:47:25
阅读次数:
354
今天早上,米老师决定给同学开会。于是通过班长通知给全班的所有学生。
这就是一个代理模式。
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
一个是真正的你要访问的对象(目标类),一个是代理对象,真正对象与代理
对象实现同一个接口,先访问代理类再访问真正要访问的对象。
生活中,我们常听到xxx是某某品牌的校园代理。其实和我们的设计模式是一样的。本来是某...
分类:
其他好文 时间:
2014-04-30 22:18:40
阅读次数:
257
1.简单工厂模式:由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
2.策略模式:定义一系列的算法,把它们一个个封装起来,并且是他们可以相互替换。使得算法可以独立于使用它的客户而变化。
3.装饰模式:动态的给一个对象添加一些额外的职责,比生成子类更加灵活。
4.代理模式:为其他对象提供一种代理控制对这个对象的访问...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
328
单例模式(Singleton)
工厂模式(Factory)
桥接模式(Bridge)
组合模式(Composite)
门面模式(Facade)
适配器模式(Adapter)
装饰者模式(Decorator)
享元模式(Flyweight)
代理模式(Proxy)
观察者模式(Observer)
命令模式(Command)
1.单例模式(Singleton):
Singl...
分类:
编程语言 时间:
2014-04-29 13:34:20
阅读次数:
344
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
代理模式的本质:控制对象访问
既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可
同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问
从而实现控制对象访问的目的
何时选用代理模式
1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理
2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)
3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例
4.需要在访问对象执行一些附加操作的时候,...
分类:
其他好文 时间:
2014-04-28 10:27:41
阅读次数:
253