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

网站是灰色系的网站wordpress wp-login.php

网站是灰色系的网站,wordpress wp-login.php,视频 怎么做网站,小程序制作需要什么一、前言 观察者模式,又称为发布订阅模式,是一种行为设置模式,允许对象之间建立一对多的依赖关系,这样当一个对象状态改变时,它的所有依赖者(观察者)都会收到通知并自动更新。 二、具体实现 …

一、前言

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

二、具体实现

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.yayakq.cn/news/250874/

相关文章:

  • 定制网站开发技术网页游戏排名
  • 武清做网站公司线上营销模式有哪些
  • 西瓜网站建设湖州公司网站建设
  • 做企业网站接单网站邮件设置
  • 网站建设经验王者荣耀恺和做网站项目实例
  • 服务器可以放几个网站网站建设 项目要求
  • 论述题亿唐网不做网站做品牌wordpress网站提速
  • 网站软件开发招聘在线生成网页网站
  • 只做一种产品的网站大余做网站建设
  • 上海阀门网站建设微商怎么做推广
  • 建立网站需要哪些费用开发网站哪家好
  • 可以做动画的网站都有哪些软件下载小企业建站系统
  • 建设网站架构服务器需要多少钱wordpress设置页面透明度
  • 网站建设管理系统免费网站python网站开发书籍推荐
  • 湖南响应式网站哪家好内网建站软件
  • 住房和规划建设局网站湖北省随州市建设厅网站
  • 大连哪里有手机自适应网站建设品牌建设内容措施
  • 简单的企业网站cms坪山网站建设多少钱
  • 网站备案身份核验临清建设网站
  • 用vs2010做免费网站模板下载北京响应式网站开发
  • 重庆百度seo整站优化做网站什么系统好
  • 南京建站在线咨询做网站顶部图片长度是多少
  • 网站建设发展现状企业信息查询公示系统
  • 濮阳做网站的外链工具xg
  • 有没有免费做片头的网站做网站首页文件
  • 电商网站 收费与免费抖音代运营服务方案
  • 公司网站域名更改怎么做沈阳市建设工程检测监督远程管理信息网
  • dw做网站常用标签中铁建设集团企业门户
  • 上海橙网站设计公司深圳html5网站制作
  • 常德举报网站网站短期培训能学什么