打字猴:1.70046067e+09
1700460670
1700460671 //获得指定的代理
1700460672
1700460673 IGamePlayer proxy=player.getProxy();
1700460674
1700460675 //开始打游戏,记下时间戳
1700460676
1700460677 System.out.println(“开始时间是:2009-8-25 10:45”);
1700460678
1700460679 proxy.login(“zhangSan”,“password”);
1700460680
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
[ 上一页 ]  [ :1.70046067e+09 ]  [ 下一页 ]