Java设计模式之代理模式
代理模式 在代理模式(Proxy Pattern)中: ①一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 ②我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 作用: 为其他对象提供一种代理以控制对这个对象的访问, 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接联系明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来解决.这就是代理思想在现实中的一个例子。 主要解决 :在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。 优点: 1、职责清晰 2、高扩展性 3、智能化。 缺点: 1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。 一、静态代理 我们将创建一个SomeService接口和实现SomeService接口的实体类。ServiceProxy是一个代理类,减少ServiceSomeImpl对象加载的内存占用。proxyTest