您的位置:首页 > 房产 > 建筑 > 免费推广的手段和方法_头像设计制作器_seo关键词快速排名软件_seo优化培训多少钱

免费推广的手段和方法_头像设计制作器_seo关键词快速排名软件_seo优化培训多少钱

2024/10/7 6:42:32 来源:https://blog.csdn.net/weixin_74144099/article/details/142516675  浏览:    关键词:免费推广的手段和方法_头像设计制作器_seo关键词快速排名软件_seo优化培训多少钱
免费推广的手段和方法_头像设计制作器_seo关键词快速排名软件_seo优化培训多少钱

观察者模式

观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。

观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。

案例

粉丝关注主播,主播开始直播时会向所以粉丝发送消息

主播:

public abstract class AbstractTikTok {List<AbstractFan> list = new ArrayList<>();abstract void notify(String msg);abstract void addFans(AbstractFan fan);
}
public class MMTikTok extends AbstractTikTok{public void sell(){System.out.println("开始卖货。。");notify("直播开始啦。。");}@Overridevoid notify(String msg) {list.forEach(fan -> fan.acceptMsg(msg));}@Overridevoid addFans(AbstractFan fan) {list.add(fan);}
}

粉丝:

public abstract class AbstractFan {abstract void acceptMsg(String msg);abstract void follow(AbstractTikTok tikTok);
}
public class ManFan extends AbstractFan{@Overridevoid acceptMsg(String msg) {System.out.println("监听到消息:"+msg);}@Overridevoid follow(AbstractTikTok tikTok) {tikTok.addFans(this);}}

测试:

public class Main {public static void main(String[] args) {MMTikTok mmTikTok = new MMTikTok();ManFan fan1 = new ManFan();ManFan fan2 = new ManFan();fan1.follow(mmTikTok);fan2.follow(mmTikTok);mmTikTok.sell();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com