設計模式(九)代理模式
阿新 • • 發佈:2018-11-13
代理模式(Proxy)為其他物件提供一種代理以控制對這個物件的訪問
public abstract class Subject { public abstract void request(); } public class RealSubject extends Subject { @Override public void request() { System.out.println("真實的請求"); } } public class Proxy extends Subject { RealSubject realSubject; @Override public void request() { if(realSubject==null) { realSubject=new RealSubject(); } realSubject.request(); } } public class Main { public static void main(String[] args) { Proxy proxy=new Proxy(); proxy.request(); } }
代理模式的應用
1.遠端代理,為一個物件在不同的地址空間提供區域性代表。這樣可以隱藏一個物件存在於不同地址空間的事實
2.虛擬代理,根據需要建立開銷很大的獨享。通過它來存放例項化需要很長時間的真實物件
3.安全代理,用來控制真實物件訪問許可權
4.智慧索引,當呼叫真實的物件時,代理處理另外一些事