当前位置: 首页 > wzjs >正文

哈尔滨网站设计公司地址教育培训报名

哈尔滨网站设计公司地址,教育培训报名,wordpress样式乱了,网站后台表格行为型模式 - 观察者模式 (Publish/Subscribe) 又称作为订阅发布模式(Publish-Subscribe Pattern)是一种消息传递模式,在该模式中,发送者(发布者)不会直接将消息发送给特定的接收者(订阅者&…

行为型模式 - 观察者模式 (Publish/Subscribe)

又称作为订阅发布模式(Publish-Subscribe Pattern)是一种消息传递模式,在该模式中,发送者(发布者)不会直接将消息发送给特定的接收者(订阅者),而是将消息发布到一个中间的消息代理(如主题或频道),订阅了该主题的订阅者可以接收到这些消息。以下是几个订阅发布模式的经典案例。


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;// 主题接口
interface Subject {void registerObserver(Observer observer, String newsType);void removeObserver(Observer observer, String newsType);void notifyObservers(String newsType, String news);
}// 观察者接口
interface Observer {void update(String news);
}// 新闻机构类,实现主题接口
class NewsAgency implements Subject {private Map<String, List<Observer>> observers = new HashMap<>();@Overridepublic void registerObserver(Observer observer, String newsType) {observers.computeIfAbsent(newsType, k -> new ArrayList<>()).add(observer);}@Overridepublic void removeObserver(Observer observer, String newsType) {List<Observer> observerList = observers.get(newsType);if (observerList != null) {observerList.remove(observer);}}@Overridepublic void notifyObservers(String newsType, String news) {List<Observer> observerList = observers.get(newsType);if (observerList != null) {for (Observer observer : observerList) {observer.update(news);}}}public void publishNews(String newsType, String news) {System.out.println("发布 " + newsType + " 新闻: " + news);notifyObservers(newsType, news);}
}// 用户类,实现观察者接口
class User implements Observer {private String name;public User(String name) {this.name = name;}@Overridepublic void update(String news) {System.out.println(name + " 收到新闻: " + news);}
}// 客户端代码
public class NewsSystem {public static void main(String[] args) {NewsAgency newsAgency = new NewsAgency();User user1 = new User("张三");User user2 = new User("李四");// 用户订阅体育新闻newsAgency.registerObserver(user1, "体育");newsAgency.registerObserver(user2, "体育");// 用户订阅财经新闻newsAgency.registerObserver(user1, "财经");// 发布体育新闻newsAgency.publishNews("体育", "篮球比赛结果公布");// 发布财经新闻newsAgency.publishNews("财经", "股市行情上涨");}
}
http://www.dtcms.com/wzjs/97134.html

相关文章:

  • 购物网站模版公司想建个网站怎么弄
  • 如何将自己做网站放上网百度一下你就知道了百度一下
  • 成功卡耐基网站建设网络营销推广主要做什么?
  • 自己的网站做弹出广告app营销策略
  • 网站开发综合设计报告抖音搜索seo排名优化
  • 政府采购电子商城网站网上写文章用什么软件
  • 网站建设策划基本流程图saas建站平台
  • 郑州模板网站建设百合seo培训
  • 福建省建建设行业信用评分网站权重查询爱站网
  • 做网站克隆网站建设的意义和作用
  • 无锡网站建设服务公司百度广告代理商加盟
  • 英语网站建设国际外贸网络交易平台
  • 营销型网站建设案例分析seo引擎优化外包公司
  • 网站空间大小 论坛天堂网长尾关键词挖掘网站
  • 郴州网站建设费用价格网站运营专员
  • SaaS网站可以做seo嘛运营培训班
  • 上海建站网有网站模板怎么建站
  • 昆明seo网站排名优化百度电商平台app
  • 建筑行业一般在哪个网站招聘爱链接外链购买
  • 阿里巴巴1688网站做店铺免费聊天软件
  • 怎么做直播室的网站软件培训机构有哪些?哪个比较好
  • 建设网站龙华营销技巧
  • 全面的基础微网站开发iis搭建网站
  • html如何做自己的网站商务网站建设
  • 嘉兴做营销型网站设计百度网页版下载
  • 推广网站的方法有百度投诉中心24人工客服电话
  • 网站前台后台模板下载百度广告联盟一个月能赚多少
  • c2c网站是什么凡科建站快车
  • 网页设计布局分析seo搜索引擎招聘
  • 安阳网站建设为什么外包会是简历污点