代理模式的作用:
代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介代理模式的角色:
Subject,抽象角色,通过接口或抽象类声明真实角色实现的业务方法。
RealSubject,真实角色,实现抽象角色,实现抽象角色定义的业务逻辑,供代理角色调用。
PRoxy,代理角色,通过接口或抽象类声明真实角色实现的业务方法。
Subject,抽象角色。
public interface Book { void read(); }RealSubject,真实角色。
public class Bible implements Book { @Override public void read() { System.out.println("Reading..."); }}Proxy,代理角色。需要关联实现并关联抽象角色。
public class BookProxy implements Book { // 委托对象,作为构造函数的参数 private Book book; public BookProxy(Book book) { this.book = book; } @Override public void read() { System.out.println("Reading 调用之前"); book.read(); System.out.println("Reading 调用之后"); }}具体调用如下:
BookProxy proxy = new BookProxy (new Bible());proxy.read();新闻热点
疑难解答