代理模式的作用:
代理模式就是多一個(gè)代理類出來,替原對(duì)象進(jìn)行一些操作,比如我們?cè)谧夥孔拥臅r(shí)候回去找中介代理模式的角色:
Subject,抽象角色,通過接口或抽象類聲明真實(shí)角色實(shí)現(xiàn)的業(yè)務(wù)方法。
RealSubject,真實(shí)角色,實(shí)現(xiàn)抽象角色,實(shí)現(xiàn)抽象角色定義的業(yè)務(wù)邏輯,供代理角色調(diào)用。
PRoxy,代理角色,通過接口或抽象類聲明真實(shí)角色實(shí)現(xiàn)的業(yè)務(wù)方法。
Subject,抽象角色。
public interface Book { void read(); }RealSubject,真實(shí)角色。
public class Bible implements Book { @Override public void read() { System.out.println("Reading..."); }}Proxy,代理角色。需要關(guān)聯(lián)實(shí)現(xiàn)并關(guān)聯(lián)抽象角色。
public class BookProxy implements Book { // 委托對(duì)象,作為構(gòu)造函數(shù)的參數(shù) private Book book; public BookProxy(Book book) { this.book = book; } @Override public void read() { System.out.println("Reading 調(diào)用之前"); book.read(); System.out.println("Reading 調(diào)用之后"); }}具體調(diào)用如下:
BookProxy proxy = new BookProxy (new Bible());proxy.read();新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注