代理模式的作用是:為其它對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。在某些情況下,一 個(gè)客戶不想直接引用另一個(gè)對(duì)象,而代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介作用。 代理模式一般涉及到三個(gè)角色:
以下以《java與模式》中的示例為例:
// 抽象角色:abstract public class Subject { abstract public void request();}// 真實(shí)角色:實(shí)現(xiàn)了Subject的request()方法public class RealSubject extends Subject { public RealSubject() { } public void request() { System.out.由以上代碼可以看出,客戶實(shí)際需要調(diào)用的是RealSubject類的request()方法,現(xiàn)在用 ProxySubject來(lái)代理 RealSubject類,同樣達(dá)到目的,同時(shí)還封裝了其他方法 (preRequest(),postRequest()),可以處理一些其他問題。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注