JAVA-設計模式之代理模式

代理模式(Proxy):對其它對象提供一種代理,以控制對這個對象的訪問!

 

package caosc.javaModel.Proxy;

public abstract class Subject {
	public abstract void Request();
}


 

package caosc.javaModel.Proxy;

public class RealSubject extends Subject {

	@Override
	public void Request() {
		System.out.println("真實的請求!");
	}

}


 

package caosc.javaModel.Proxy;

public class Proxy extends Subject {
	RealSubject rsb;

	@Override
	public void Request() {
	  if(null==rsb){
		 rsb = new RealSubject();
	  }
	  rsb.Request();
	}
}


 

package caosc.javaModel.Proxy;

public class TestProxy {

	public static void main(String[] args) {
		Proxy p = new Proxy();
		p.Request();
	}

}


代理模式應用:

1、遠程代理,爲一個對象在在不同的地址空間提交局部代表,這樣隱藏一個對象在不同地址地址控件的真實;

2、虛擬代理,創建開銷很大的對象,用它來存放需要實例化很長時間的對象,比如網頁圖片加載優化;

3、安全代理,用來控制對象訪問時的權限;

4、智能指引,當調用真實對象時候,代理處理另外一些事情,比如當第一次引用一個持久化對象時候將對象放入內存;或者在訪問一個對象的時候,檢查是否鎖定,都是通過在訪問一個對象的時候,增加一些內務事物;

 

發佈了97 篇原創文章 · 獲贊 6 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章