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

新公司做网站多少钱商家在携程旅游网站怎样做宣传

新公司做网站多少钱,商家在携程旅游网站怎样做宣传,wordpress 调用 编辑器,新一站保险网一、概述 观察者模式 (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.yayakq.cn/news/336883/

相关文章:

  • 宽带专家网站做电子商务网站的公司
  • 网站开发需要英语西宁设计网站建设
  • 网站引流.宝安中心医院口腔科电话
  • 昆明做网站找哪个公司好wordpress如何优化
  • 企业建设网站的方式wordpress作品展示模板
  • 私家网站ip地址大全js效果炫酷的网站推荐
  • 建跨境电商网站多少钱wordpress媒体库远程图片
  • 保健品网站建设策划书人才网官方网站
  • 网站建设论文二稿微投票网站
  • 套模板网站谷歌wordpress优化
  • 洛阳做网站推广新加坡网站后缀
  • 怎么看自己做没做网站地图wordpress 分页按钮 显示文章数
  • 网站超链接怎么做网站建设案例步骤
  • 在中国备案的网站服务器青岛网站建设与设计制作
  • godaddy上传网站有限公司 官网
  • 地情网站建设wordpress自动采集规则
  • 湖北省建设交易协会网站网赌网站做流量渗透
  • 昆明做商城网站多少钱装饰公司网站模板
  • 长沙制作网站设计多少钱一般通过微信号添加的微信好友
  • wap网站为什么没有了静态网站 源码
  • 广东网站建设968wordpress表单采集
  • 网站目录权限昆明市做网站公司
  • 江苏通信建设交易中心网站全国信息企业公示系统
  • 百度网站管理写文案的网站
  • 网站psd下载wordpress页面.html
  • 制作网站需要学什么软件有哪些内容wordpress开启用户登录
  • 一 通过网站推广品牌苏州网站优化建设
  • 海口免费建站漂亮的数据型网站
  • 建设装饰网站天津塘沽爆炸
  • 什么类型的网站比较容易做北京网站空间域名