0-前言
代理模式定义:为其他对象提供一种代理以控制对这个对象的访问。
1-实现
1-1、简单UML图:
1-2、代码实现
//1、抽象父类 abstract class Actor { public abstract void Show(); } //2、具体类(舞蹈演员) class ModernActor extends Actor { @Override public void Show() { System.out.println("舞者跳起来现代舞!"); } } //3、代理类(演艺承包商) class ActorProxy extends Actor { private ModernActor modernActor; public ActorProxy( ) { this.modernActor=new ModernActor(); } @Override public void Show() { modernActor.Show(); } }
客户端
ActorProxy actorProxy = new ActorProxy(); actorProxy.Show();
运行结果
2-应用场景简单总结
1、当需要为一个对象在不同的地址空间提供局部的代表时;
2、当需要控制对原始对象的访问时;
3、当需要在访问对象时执行一些附加操作时;