packagecon.wangjun.designPattern.observer;importjava.util.ArrayList;importjava.util.List;publicclassMain {publicstaticvoidmain(String[] args) {VSubject vs =newVSubject(); // 大V的实例 List<FansObserver> fans =newArrayList<>(); //存储所有粉丝for(int i =0; i <5; i++) {FansObserver f =newFansObserver("name"+ (i +1));fans.add(f);vs.addFans(f); }// 本次发微博,5个粉丝都收到推送vs.publish("我的女朋友真好看!");// 居然秀恩爱,前2个粉丝,看不下去了,取关!for(int i =0; i <2; i++) {vs.removeFans(fans.get(i)); }//这次发微博,那两个取关的人就看不到了vs.publish("我要送所有粉丝一部iPhone X"); }}
运行结果
大V发布微博:我的女朋友真好看!
name1 收到大V的微博发文:我的女朋友真好看!
name2 收到大V的微博发文:我的女朋友真好看!
name3 收到大V的微博发文:我的女朋友真好看!
name4 收到大V的微博发文:我的女朋友真好看!
name5 收到大V的微博发文:我的女朋友真好看!
大V发布微博:我要送所有粉丝一部iPhone X
name3 收到大V的微博发文:我要送所有粉丝一部iPhone X
name4 收到大V的微博发文:我要送所有粉丝一部iPhone X
name5 收到大V的微博发文:我要送所有粉丝一部iPhone X