您的位置:首页 > 其它

【设计模式】代理模式

2016-03-03 19:45 239 查看
设计模式就是将我们生活中的某些处理方式抽象到代码中,今天和大家分享一个常见的设计模式:代理模式

1 基础知识



2 简单例子

1)Subject类:定义了RealSubject和Proxy的共用接口,这样就可以在任何使用RealSubject的地方使用Proxy

package com.szh.pattern;

public abstract class Subject {

public abstract void Request();
}


2)RealSubject类:定义了Proxy所代表的的真实实体

package com.szh.pattern;

public class RealSubject extends Subject {

@Override
public void Request() {
// TODO Auto-generated method stub
System.out.print("真实的请求");
}

}


3)Proxy类:保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体

package com.szh.pattern;

public class Proxy extends Subject {

RealSubject realSubject;
@Override
public void Request() {
// TODO Auto-generated method stub
if(realSubject==null){
realSubject = new RealSubject();
}
realSubject.Request();
}

}


4)Demo

package com.szh.pattern;

public class Demo {

public static void main(String[] args) {
// TODO Auto-generated method stub
Proxy proxy = new Proxy();
proxy.Request();
}

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