代理模式
设计模式的意义在于:面向业务内容、业务数据结构和系统架构,高内聚低耦合、优雅的将平面逻辑立体化。
1 package designPattern; 2 3 /** 4 * 代理模式 5 * @author Administrator 6 */ 7 public class C21_ProxyTest { 8 9 /** 10 * 为其他对象提供一种代理以控制对这个对象的访问 11 * 适用于: 12 * 1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。 13 * 2.虚代理(VirtualProxy)根据需要创建开销很大的对象。 14 * 3.保护代理(ProtectionProxy)控制对原始对象的访问。 15 * 4.智能指引(SmartReference)取代了简单的指针,它在访问对象时执行一些附加操作 16 */ 17 public static void main(String[] args) { 18 ProxyObj po=new ProxyObj(); 19 po.action(); 20 } 21 } 22 /** 23 * 1.Proxy 保存一个引用使得代理可以访问实体。若RealSubject和Subject的接口相同,Proxy会引用Subject。 24 *提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。控制对实体的存取,并可能负责创建和删除它。 25 *其他功能依赖于代理的类型: 26 */ 27 class ProxyObj implements Obj 28 { 29 Obj o; 30 public ProxyObj() 31 { 32 System.out.println("这是代理类!"); 33 o=new ObjImpl(); 34 } 35 public void action() 36 { 37 System.out.println("开始代理..."); 38 o.action(); 39 System.out.println("代理结束..."); 40 } 41 } 42 43 //2.Subject 定义RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。 44 interface Obj 45 { 46 void action(); 47 } 48 //3.RealSubject 定义Proxy所代表的实体。 49 class ObjImpl implements Obj 50 { 51 public void action() 52 { 53 System.out.println("这是被代理的类...."); 54 } 55 }
环境:JDK1.6,MAVEN,tomcat,eclipse
源码地址:https://files.cnblogs.com/files/xiluhua/designPattern.rar
欢迎亲们评论指教。