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

Java设计模式之代理模式

2016-03-18 14:14 337 查看
模式结构:

Subject:抽象主题角色

Proxy:代理主题角色

RealSubject:真实主题角色

UML图:



例子代码:



抽象主题角色:

public interface Subject {
void request();
}

具体主题角色:
public class ConcreteSubject implements Subject {
@Override
public void request() {
System.out.println("代理...");
}
}

代理主题角色:
public class Proxy implements Subject{

private Subject subject;

public Proxy(Subject subject) {
this.subject = subject;
}

public void preRequest(){
System.out.println("代理前...");
}

public void afterRequest(){
System.out.println("代理后...");
}

@Override
public void request() {
preRequest();
subject.request();
afterRequest();
}
}

客户类:
public class Client {
public static void main(String[] args) {
//实例代理对象
Subject subject = new ConcreteSubject();
//对象代理
Proxy proxy = new Proxy(subject);
//代理结果
proxy.request();
}
}

结果打印:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息