打字猴:1.700460681e+09
1700460681 //开始杀怪
1700460682
1700460683 proxy.killBoss();
1700460684
1700460685 //升级
1700460686
1700460687 proxy.upgrade();
1700460688
1700460689 //记录结束游戏时间
1700460690
1700460691 System.out.println(“结束时间是:2009-8-26 03:40”);
1700460692
1700460693 }
1700460694
1700460695 }
1700460696
1700460697 运行结果如下:
1700460698
1700460699 开始时间是:2009-8-25 10:45
1700460700
1700460701 登录名为zhangSan的用户张三登录成功!
1700460702
1700460703 张三在打怪!
1700460704
1700460705 张三又升了一级!
1700460706
1700460707 结束时间是:2009-8-26 03:40
1700460708
1700460709 OK,可以正常访问代理了。强制代理的概念就是要从真实角色查找到代理角色,不允许直接访问真实角色。高层模块只要调用getProxy就可以访问真实角色的所有方法,它根本就不需要产生一个代理出来,代理的管理已经由真实角色自己完成。
1700460710
1700460711
1700460712
1700460713
1700460714 设计模式之禅 12.4.3 代理是有个性的
1700460715
1700460716 一个类可以实现多个接口,完成不同任务的整合。也就是说代理类不仅仅可以实现主题接口,也可以实现其他接口完成不同的任务,而且代理的目的是在目标对象方法的基础上作增强,这种增强的本质通常就是对目标对象的方法进行拦截和过滤。例如游戏代理是需要收费的,升一级需要5元钱,这个计算功能就是代理类的个性,它应该在代理的接口中定义,如图12-6所示。
1700460717
1700460718
1700460719
1700460720
1700460721 图12-6 代理类的个性
1700460722
1700460723 增加了一个IProxy接口,其作用是计算代理的费用。我们先来看IProxy接口,如代码清单12-19所示。
1700460724
1700460725 代码清单12-19 代理类的接口
1700460726
1700460727 public interface IProxy{
1700460728
1700460729 //计算费用
1700460730
[ 上一页 ]  [ :1.700460681e+09 ]  [ 下一页 ]