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

织梦网站一级目录排名sem优化软件

织梦网站一级目录,排名sem优化软件,如何在相关网站免费做宣传广告,宝安建网站的公司一、前言 观察者模式,又称为发布订阅模式,是一种行为设置模式,允许对象之间建立一对多的依赖关系,这样当一个对象状态改变时,它的所有依赖者(观察者)都会收到通知并自动更新。 二、具体实现 …

一、前言

观察者模式,又称为发布订阅模式,是一种行为设置模式,允许对象之间建立一对多的依赖关系,这样当一个对象状态改变时,它的所有依赖者(观察者)都会收到通知并自动更新。

二、具体实现

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.clientId=clientId;}@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 List<Observer> 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 10:18* @Author: gaoyufei**/
public class Client {public static void main(String[] args) {Topic topic=new Topic();Subscriber subscriber1=new Subscriber("001");Subscriber subscriber2=new Subscriber("002");Subscriber subscriber3=new 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.name=name;}@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 List<Observer> 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 recordBook=new RecordBook();Resident resident=new Resident("王满银");Resident resident1=new Resident("孙玉亭");Resident resident2=new Resident("孙玉厚");recordBook.add(resident);recordBook.add(resident1);recordBook.add(resident2);recordBook.notify("大家好,今天下午三点来村支部开会,有重要事情通知!");}
}
http://www.yidumall.com/news/67194.html

相关文章:

  • 付费网站怎么做seo搜索引擎优化名词解释
  • aws 搭建wordpress郑州seo培训
  • 青岛商业网站建设seo优化排名易下拉效率
  • 菏泽网站建设怎么制作自己公司网站
  • 亿唐网不做网站做品牌案例分析市场推广seo职位描述
  • 安徽工程建设信息网站进皖企业软件开发需要多少资金
  • 建站公司用的服务器seo推广seo技术培训
  • ps做网站的流程今日头条热点新闻
  • 品牌做网站还是app网站seo顾问
  • 前台和后台网站开发有什么区别郑州seo代理商
  • 展馆网站建设方案拉新推广怎么做
  • 武汉网站定制设计推广普通话宣传语100字
  • 为女友做网站浏览器广告投放
  • 沈阳营销型网站制作宁德市蕉城区疫情
  • 南昌做网站建设公司国内免费推广产品的网站
  • 网站设计与制作包括seo外链在线提交工具
  • 网站建站建设快速学电脑培训班
  • 外包app公司不给源代码跨境电商seo
  • 大连建站方案seo顾问服
  • 免费网页制作代码宁波seo服务推广
  • wordpress评论回复郑州seo优化公司
  • 网站开发 用户角色关键词优化是什么
  • 最新网站开发需求文档百度引擎提交入口
  • 加盟网站做推广怎么收费网站建设是干嘛的
  • 简单一点的网站建设长沙seo外包
  • 网站建设会议验收最新的新闻 今天
  • 深圳网站搭建seo监控
  • 凡科做网站不好360免费建站网页链接
  • b2b 网站建设自己怎么优化网站
  • 小吃培训网站源码谷歌关键词优化怎么做