相信大多数年轻人都喜欢玩游戏。当然笔者也不例外,曾经还有一段时间玩游戏玩到废寝忘食呀。可惜,终究是手残党,游戏怎么都玩不厉害。正是玩游戏的人很多,所以就出现了代练这个职业,把游戏交给代练的人,就能轻松的把游戏玩到一个更高的阶段。这是生活中的一种代理。
而在程序设计中,我们就与生活相结合,来用代练描述一下程序设计中的代理模式。
UML图:
首先,先创建一个接口,这个接口代表着所有的玩家共有的操作:
public interface Player {
//玩游戏
void play();
//游戏结束
void over();
}
接着找一位Mike的玩家来实现这个接口:
public class Mike implements Player{
@Override
public void play() {
System.out.println("Mike 激烈战斗中...");
}
@Override
public void over() {
System.out.println("Mike 游戏结束");
}
}
此时,Mike已经能玩游戏和结束游戏了,可是他怎么都玩不好,于是就找了一位代练,这个代练当然也是一位玩家:
public class LevelingProxy implements Player{
//玩家
private Player mPlayer;
public LevelingProxy(Player player) {
mPlayer = player;
}
//代练玩游戏
@Override
public void play() {
mPlayer.play();
}
//代练结束游戏