打字猴:1.700468846e+09
1700468846
1700468847
1700468848 图22-2 通过后台线程监控
1700468849
1700468850 这个类图应该是程序员最容易想到的,你要监控,我就给你找个间谍角色(Spy类),我们来看程序的实现,先看我们的主角韩非子的接口(类似于韩非子这样的人,被观察者角色),如代码清单22-1所示。
1700468851
1700468852 代码清单22-1 被观察者接口
1700468853
1700468854 public interface IHanFeiZi{
1700468855
1700468856 //韩非子也是人,也要吃早饭的
1700468857
1700468858 public void haveBreakfast();
1700468859
1700468860 //韩非之也是人,是人就要娱乐活动
1700468861
1700468862 public void haveFun();
1700468863
1700468864 }
1700468865
1700468866 对接口进行扩充,增加了两个状态isHavingBreakfast(是否在吃早饭)和isHavingFun(是否在娱乐),以方便Spy进行监控,如代码清单22-2所示。
1700468867
1700468868 代码清单22-2 具体的被观察者
1700468869
1700468870 public class HanFeiZi implements IHanFeiZi{
1700468871
1700468872 //韩非子是否在吃饭,作为监控的判断标准
1700468873
1700468874 private boolean isHavingBreakfast=false;
1700468875
1700468876 //韩非子是否在娱乐
1700468877
1700468878 private boolean isHavingFun=false;
1700468879
1700468880 //韩非子要吃饭了
1700468881
1700468882 public void haveBreakfast(){
1700468883
1700468884 System.out.println(“韩非子:开始吃饭了……”);
1700468885
1700468886 this.isHavingBreakfast=true;
1700468887
1700468888 }
1700468889
1700468890 //韩非子开始娱乐了
1700468891
1700468892 public void haveFun(){
1700468893
1700468894 System.out.println(“韩非子:开始娱乐了……”);
1700468895
[ 上一页 ]  [ :1.700468846e+09 ]  [ 下一页 ]