代理模式:所谓的代理模式就是只一个代理主题来代理真实主题,真实主题只负责具体的业务操作,而代理肢体则负责相关的其他操作,比如:代理上网,你只需要一个代理上网的端口,你就可以上网,但是你不需要知道该怎样去连接网络,你就只需要上网就OK了。
package test;
interface NetWork{
void SWJK(String
userName); //上网接口
}
class Proxy implements NetWork{//代理商来实现接口,你不需要知道怎么操作
private NetWork netWork;
public Proxy(NetWork
netWork) {
this. netWork =
netWork;
}
public NetWork
getNetWork() {
return netWork ;
}
public void setNetWork(NetWork
netWork) {
this.netWork =
netWork;
}
public void SWJK(String
userName) {
System. out.println("我是代理商来实现的接口" );
if("like" .equals(userName)){
System. out.println("我是代理商,我要做验证操作" );
}
this.netWork .SWJK(userName);
}
}
class Real implements NetWork{
public void SWJK(String
userName) {
System. out.println(userName+"正在上网" );
}
}
public class DaiLiTest
{
public static void main(String[]
args) {
NetWork netWork= null;
netWork = new Proxy(new Real());//代理商
netWork.SWJK( "like");//我只需要上网
}
}
结果:
我是代理商来实现的接口
我是代理商,我要做验证操作
like正在上网