代理模式:所谓的代理模式就是只一个代理主题来代理真实主题,真实主题只负责具体的业务操作,而代理肢体则负责相关的其他操作,比如:代理上网,你只需要一个代理上网的端口,你就可以上网,但是你不需要知道该怎样去连接网络,你就只需要上网就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正在上网