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

精通23种设计模式——代理模式

2017-03-15 18:13 274 查看

代理模式

A可以做的事情,偏偏A比较傲娇,不愿意做,交给B来做,就是说B代A完成一件事。这就是一种代理模式。

定义出一个接口,其中包含B为A代理的方法。

继续举个栗子。。。

库里合同到期啦,要和勇士谈续约的问题啦,但是库里天天忙于训练,没时间啊,于是经纪人就为库里把这是给办了。

public interface TalkWithTeam{
public void doSomething();
}


再定义出一个库里,库里本身也可以和球队谈判,于是也继承了上面的接口

public class Player implements TalkWithTeam{
public void doSomething(){

}
}


经纪人要代替库里和球队谈啊,于是,他持有了库里的对象,并继承了这个接口。

public class Agent implements TalkWithTeam{

private Player palyer;

public Agent(Player player){
this.player = player;
}

public void doSomething(){
player.doSomething();
}
}


某个场景下和球队谈判,

public class Client{
public static void main(String[] args){
Player player = new Player();
Agent agent = new Agent(player);
agent.doSomething();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息