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

web简历网站关键词挖掘机爱站网

web简历网站,关键词挖掘机爱站网,设计网站页面步骤,郑州企业网站开发观察者模式(Observer Pattern)是一种常用的软件设计模式,它用于在对象之间建立一种一对多的依赖关系,当一个对象的状态发生变化时,它的所有依赖对象都会得到通知并自动更新。观察者模式属于行为型模式。 在观察者模式…

观察者模式(Observer Pattern)是一种常用的软件设计模式,它用于在对象之间建立一种一对多的依赖关系,当一个对象的状态发生变化时,它的所有依赖对象都会得到通知并自动更新。观察者模式属于行为型模式。

在观察者模式中,有两个核心角色:主题(Subject)和观察者(Observer)。主题是被观察的对象,它维护了一个观察者列表,可以动态地添加、删除和通知观察者。观察者是依赖于主题的对象,当主题的状态发生变化时,观察者会得到通知并执行相应的操作。

下面是一个简单的示例,展示了如何使用观察者模式实现一个简单的气象站:

import java.util.ArrayList;
import java.util.List;// 主题接口
interface Subject {void registerObserver(Observer observer);void removeObserver(Observer observer);void notifyObservers();
}// 观察者接口
interface Observer {void update(float temperature, float humidity, float pressure);
}// 具体主题类
class WeatherData implements Subject {private List<Observer> observers;private float temperature;private float humidity;private float pressure;public WeatherData() {observers = new ArrayList<>();}public void registerObserver(Observer observer) {observers.add(observer);}public void removeObserver(Observer observer) {observers.remove(observer);}public void notifyObservers() {for (Observer observer : observers) {observer.update(temperature, humidity, pressure);}}public void measurementsChanged() {notifyObservers();}public void setMeasurements(float temperature, float humidity, float pressure) {this.temperature = temperature;this.humidity = humidity;this.pressure = pressure;measurementsChanged();}
}// 具体观察者类
class CurrentConditionsDisplay implements Observer {private float temperature;private float humidity;public void update(float temperature, float humidity, float pressure) {this.temperature = temperature;this.humidity = humidity;display();}public void display() {System.out.println("Current conditions: " + temperature + "F degrees and " + humidity + "% humidity");}
}// 测试代码
public class ObserverPatternExample {public static void main(String[] args) {WeatherData weatherData = new WeatherData();CurrentConditionsDisplay currentDisplay = new CurrentConditionsDisplay();weatherData.registerObserver(currentDisplay);weatherData.setMeasurements(80, 65, 30.4f);weatherData.setMeasurements(82, 70, 29.2f);weatherData.setMeasurements(78, 90, 29.2f);}
}

在上面的示例中,WeatherData充当主题,它实现了Subject接口,并维护了一个观察者列表。CurrentConditionsDisplay充当观察者,它实现了Observer接口,并在update方法中更新自己的状态并进行显示。

在测试代码中,创建了一个WeatherData对象和一个CurrentConditionsDisplay对象,并将CurrentConditionsDisplay注册为WeatherData的观察者。然后通过调用setMeasurements方法模拟气象数据的更新,WeatherData会通知所有注册的观察者,并调用它们的update方法进行更新和显示。

这个示例展示了观察者模式的基本结构和使用方法。观察者模式可以帮助我们实现松耦合的对象之间的通信,使得对象之间的依赖关系更加灵活和可扩展。

http://www.yidumall.com/news/4912.html

相关文章:

  • 测量为什么要建站百度收录入口提交查询
  • 网站建设怎样避免犯法网站如何推广出去
  • 网站做的好有什么用凡科网站建设
  • 广告装饰 技术支持 东莞网站建设360建站和凡科哪个好
  • 深圳高端电商网站建设者京东关键词优化技巧
  • 齐齐哈尔网站建设买号链接
  • 小说网站怎么做java中国疫情最新数据
  • 淘客app网站是怎么做的软件制作
  • 找人做淘宝网站需要多少钱郑州网站设计有哪些
  • 如何做网站url优化网络热词大全
  • 认证空间官方网站商品推广软文范例100字
  • 深圳地质建设网站网络营销的主要手段和策略
  • web前端培训机构有哪些比较好的刷移动端seo软件
  • 国家药品监督管理局网站优化seo方案
  • wordpress的json apiseo网站排名优化公司哪家
  • 网络查控系统设计方案长沙seo结算
  • 做网站需要ftp品牌宣传策划方案
  • 自己做视频网站有点卡百度竞价排名服务
  • 海南疫情最新消息今天网络seo是什么意思
  • wordpress 获取文章tagseo核心技术排名
  • 深圳网站备案查询网站建设一般多少钱
  • title 芜湖网站制作网页制作app手机版
  • 食品网站建设优化案例纯注册app拉新平台
  • 做政府网站的公司泰州seo
  • 互联网公司排名前1000个网络优化工程师主要做什么
  • 网站开发专业的建设设想营销技巧
  • 网站模板库营销渠道模式有哪些
  • 哪些网站做任务好赚钱的优化服务是什么意思
  • 广州建设档案馆网站推广品牌的方法
  • 苏州手机社区网站建设百度热搜榜小说排名