您的位置:首页 > 编程语言 > Java开发

Java 设计模式 - 代理模式

2017-03-04 16:50 288 查看

基本概念

代理模式的作用:

代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介

代理模式的角色:

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息