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

找外包公司做网站国外b站视频推广网站

找外包公司做网站,国外b站视频推广网站,单独设计手机网站吗,java项目网站开发一、概述 观察者模式 (Observer Pattern) 是一种行为型设计模式,又被称为发布-订阅 (Publish/Subscribe) 模式,它定义了对象之间的一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更新…

一、概述

        观察者模式 (Observer Pattern) 是一种行为型设计模式,又被称为发布-订阅 (Publish/Subscribe) 模式,它定义了对象之间的一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更新。

二、结构

在观察者模式中有如下角色:

  • Subject:观察对象,定义了注册观察者和删除观察者的方法。此外,它还声明了“获取现在的状态”的方法。
  • ConcreteSubject:具体观察对象,当自身状态发生变化后,它会通知所有已经注册的 Observer 角色。
  • Observer:抽象观察者,负责接收来自 Subject 角色的状态变化的通知,为此,它声明了 update 方法。
  • ConcrereObserver:具体观察者,当它的 update 方法被调用后,会去获取要观察的对象的最新状态。

三、代码实现

1、Observer

package com.xu.demo.observerPattern;/*** 观察者接口*/
public interface Observer {void update(String message);
}

2、ConcreteObserver

 

package com.xu.demo.observerPattern;/*** 观察者实例*/
public class ConcreteObserver implements Observer{private String name;public ConcreteObserver(String name) {this.name = name;}@Overridepublic void update(String message) {System.out.println(name + ": " + message);}
}

3、Subject

package com.xu.demo.observerPattern;/*** 主题接口*/
public interface Subject {//添加订阅者(观察者对象)void attach(Observer observer);//删除订阅者void detach(Observer observer);//通知订阅者更新消息void notify(String message);
}

4、SubscriptionSubject

 

package com.xu.demo.observerPattern;import java.util.ArrayList;
import java.util.List;/*** 主题操作类*/
public class SubscriptionSubject implements Subject{//定义一个集合,用来存储多个观察者对象private List<Observer> observerList = new ArrayList<>();@Overridepublic void attach(Observer observer) {observerList.add(observer);}@Overridepublic void detach(Observer observer) {observerList.remove(observer);}@Overridepublic void notify(String message) {//遍历集合for (Observer observer : observerList) {//调用观察者对象中的 update 方法observer.update(message);}}
}

 5、ObserverPattern

 

 

package com.xu.demo.observerPattern;public class ObserverPattern {public static void main(String[] args) {//1.创建主题对象SubscriptionSubject subject = new SubscriptionSubject();Observer ronnie = new ConcreteObserver("Ronnie");Observer ding = new ConcreteObserver("Ding");Observer trump = new ConcreteObserver("Trump");//2.观察者订阅主题subject.attach(ronnie);subject.attach(ding);subject.attach(trump);//3.更新主题subject.notify("Java专栏更新了!");System.out.println("====================我是分割线==================");//4.观察者取消订阅主题subject.detach(ding);subject.detach(trump);//5.更新主题subject.notify("Python专栏更新了!");}}

运行结果:

至此,一个最简单的 发布-订阅 (Publish/Subscribe) 模式代码实例就完成了,大家认真理解好好体会,你也能成为IT高手,我们下回再见。

http://www.ds6.com.cn/news/17348.html

相关文章:

  • 举报网站建设公司seo优化 搜 盈seo公司
  • 郑州经济技术开发区属于什么区淘宝seo软件
  • 微店网站开发武汉seo排名扣费
  • 沧州网站建设的集成商互联网营销师证书怎么考
  • 做二维码电子档相册 找什么网站电脑培训课程
  • edm营销抖音seo点击软件排名
  • 怎么做网站域名指向河北网站推广
  • 网站备案号 有效期百度seo代理
  • 淮南市建设委员会网站汕头seo排名
  • 专门做顶账房的网站设计网站都有哪些
  • 一般做网站要多少钱企业网站怎么注册
  • 2核4G服务器wordpressseo关键词排名优化的方法
  • wordpress虚化主题长沙优化科技有限公司
  • 原材料价格查询网站百度网站怎么做
  • php可以做网站吗优化大师win7官方免费下载
  • 在美国做垂直网站有哪些网络推广技术外包
  • 江阴早晨网站建设头条搜索
  • 城市规划做底图的网站怎么去推广一个产品
  • 西安网站建设方案托管代刷网站推广免费
  • 论文 政府网站建设roseonly企业网站优化
  • 宁夏自治区建设厅网站磁力王
  • 做短视频的网站收益郑州企业网络推广外包
  • 赌博游戏网站怎么做网址生成短链接
  • 快排做网站排名百度指数如何分析
  • 合肥做网站哪家好网络策划
  • 成都网站建设公司汇总免费大数据查询
  • 百度地图网站后台更新十大品牌营销策划公司
  • 知名外贸b2c网站宁波seo外包方案
  • 黑苹果做网站开发上海网络推广专员
  • 帝国cms如何做网站怎么做推广比较成功