JAVA-【靜態代理模式】

##靜態代理模式
目的:爲其他對象提供一種方式來控制對這個對象的訪問,該方式即爲代理模式。
一個代理模式通常包括以下
幾個部分

–抽象⻆色:聲明真實對象和代理理對象的共同接口。
–代理角色:內部含有對真實對象的引⽤,相當於對真實對象進行行封裝。
—真實角色:是我們最終要引⽤用的對象。
三者之間的關係我們可以使用一句話來描述:
真實對象需要完成某件事,但是自己不想太麻煩(房東出租房子),於是找來了代理角色(房屋出租的中介),說你替我完成租房的吧!(出租方法,在抽象角色中定義的)。

//抽象角色,代理角色和真實角色都要實現
public abstract class AbstractSubject {
	public abstract void doSomeThing();
}
//真實角色,即被代理的類
public class RealSubject extends AbstractSubject {
	@Override
	public void doSomeThing() {
		System.out.println("do some thing!");
	}
}
//代理對象,代理真實角色 完成指定功能
public class ProxySubject extends AbstractSubject {
	//持有真實對象的應用
	private RealSubject realSubject; 
	@Override
	public void doSomeThing() {
		if (realSubject == null) {
			realSubject = new RealSubject();
		}
		//事實上是由真實對象完成任務
		realSubject.doSomeThing();
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章