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、當需要在訪問物件時執行一些附加操作時;