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

四川省成华区建设局网站电子科技公司网站网页设计

四川省成华区建设局网站,电子科技公司网站网页设计,浙江省建设门户网站,工程公司排名一、前言 观察者模式#xff0c;又称为发布订阅模式#xff0c;是一种行为设置模式#xff0c;允许对象之间建立一对多的依赖关系#xff0c;这样当一个对象状态改变时#xff0c;它的所有依赖者#xff08;观察者#xff09;都会收到通知并自动更新。 二、具体实现 …一、前言 观察者模式又称为发布订阅模式是一种行为设置模式允许对象之间建立一对多的依赖关系这样当一个对象状态改变时它的所有依赖者观察者都会收到通知并自动更新。 二、具体实现 1、发布订阅案例 观察者接口 /*** Description: 观察者接口* Date: 2024-12-27 10:08* Author: gaoyufei**/ public interface Observer {void accept(String message); }观察者实现 /*** Description: 订阅者* Date: 2024-12-27 10:10* Author: gaoyufei**/ public class Subscriber implements Observer{public String clientId;public Subscriber(String clientId){this.clientIdclientId;}Overridepublic void accept(String message) {System.out.println(订阅者clientId 接受到消息message);} }主题接口 /*** Description: 主题接口* Date: 2024-12-27 10:15* Author: gaoyufei**/ public interface Subject {void add(Observer observer);void del(Observer observer);void notify(String message); }主题实现 import java.util.ArrayList; import java.util.List;/*** Description: 主题维护了订阅者列表通知订阅者* Date: 2024-12-27 10:16* Author: gaoyufei**/ public class Topic implements Subject {private ListObserver observerListnew ArrayList();Overridepublic void add(Observer observer) {observerList.add(observer);}Overridepublic void del(Observer observer) {observerList.remove(observer);}Overridepublic void notify(String message) {observerList.stream().forEach(e-{e.accept(message);});} }模拟订阅者订阅主题客户端发布消息: /*** Description: 模拟订阅者订阅主题客户端发布消息* Date: 2024-12-27 10:18* Author: gaoyufei**/ public class Client {public static void main(String[] args) {Topic topicnew Topic();Subscriber subscriber1new Subscriber(001);Subscriber subscriber2new Subscriber(002);Subscriber subscriber3new Subscriber(003);topic.add(subscriber1);topic.add(subscriber2);topic.add(subscriber3);topic.notify(您有一条新消息);} }2、村长通知村民案例 观察者接口 /*** Description: 观察者接口* Date: 2024-12-27 9:35* Author: gaoyufei**/ public interface Observer {void accept(String message); }观察者具体观察者村民 /*** Description: 具体观察者村民能接受消息* Date: 2024-12-27 9:37* Author: gaoyufei**/ public class Resident implements Observer{private String name;public Resident(String name){this.namename;}Overridepublic void accept(String message) {System.out.println(村民this.name 收到信息message);} }抽象主题 /*** Description: 抽象主题* Date: 2024-12-27 9:39* Author: gaoyufei**/ public interface Subject {void add(Observer observer);void del(Observer observer);void notify(String message); }主题的具体实现村长的记录本 import java.util.ArrayList; import java.util.List; /*** Description: 主题的具体实现村长的记录本维护了村民信息村长可以通过记录本给村民群发信息* Date: 2024-12-27 9:42* Author: gaoyufei**/ public class RecordBook implements Subject {private ListObserver observerList new ArrayList();Overridepublic void add(Observer observer) {observerList.add(observer);}Overridepublic void del(Observer observer) {observerList.remove(observer);}Overridepublic void notify(String message) {observerList.stream().forEach(e - {e.accept(message);});} }村长登记村民信息用记录本给村民群发信息 /*** Description: 村长登记村民信息用记录本给村民群发信息* Date: 2024-12-27 9:44* Author: gaoyufei**/ public class VillageHead {public static void main(String[] args) { // 1、村里村长有一个记录村民电话的本子村民都需要登记一下。 // 在村里有什么事情的时候村长就通过群发消息的方式通知村民。 // 2、村民就是观察者、订阅者村长发布信息记录本就是主题RecordBook recordBooknew RecordBook();Resident residentnew Resident(王满银);Resident resident1new Resident(孙玉亭);Resident resident2new Resident(孙玉厚);recordBook.add(resident);recordBook.add(resident1);recordBook.add(resident2);recordBook.notify(大家好今天下午三点来村支部开会有重要事情通知);} }
http://www.w-s-a.com/news/624405/

相关文章:

  • 成都全美网站建设江苏专业网站建设
  • 足球网站模板有帮忙做阿里巴巴网站的吗
  • 建设厅报名网站京东网站的建设与发展前景
  • 金寨县住房和城乡建设部网站网页作业怎么做一个网站
  • 做ppt模板网站有哪些内容wap是什么意思卡老师
  • 网站建设一定要域名吗网站后台关键词设置
  • 标书制作公司网站坪山网站建设哪家便宜
  • 防止做网站的人修改数值门户网站架构
  • 电子项目外包网站考二建需要什么学历和专业
  • 做网站推广引流效果好吗电商推广技巧
  • 亦庄网站建设价格广州网站推广服务
  • 十大免费ppt网站下载重庆在线高校平台登录
  • 做环保网站案例百度seo教程
  • 体育用品网站模板网站建设话术
  • 潍坊网站建设服务商做网站多久能盈利
  • 嘉定区做网站房产信息查询官网
  • 网站直播间 是怎么做的唐山论坛建站模板
  • 深圳洲聚网站建设wordpress 泛解析
  • 五金东莞网站建设技术支持wordpress 添加模板
  • 网站申请专利春节网页设计素材
  • 进网站备案md风格的wordpress主题
  • 如何建站网站十大免费建站app
  • 工作号做文案素材的网站晋城网站设计人
  • 建设部网站官网 施工许可怎样建网站 需要
  • 什么网站都能打开的浏览器同城小程序怎么推广
  • 在电脑上怎么做网站网址seo分析
  • 石家庄做网站网络公司电子商务营销推广
  • 网站开发 前端专做婚礼logo的网站
  • 同创企业网站建设拖拽建设网站源码
  • wordpress调用网站标题网站页面排版