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

网站制作 网站建设怎么做的jsp网站开发详解 下载

网站制作 网站建设怎么做的,jsp网站开发详解 下载,抖音如何推广引流,免费做电子请柬的网站定义了一种一对多的依赖关系#xff0c;允许多个观察者#xff08;也称为订阅者#xff09;对象同时监听一个主题对象#xff0c;当主题对象发生变化时#xff0c;所有依赖于它的观察者都会收到通知并自动更新。 观察者模式的使用场景 观察者模式在许多场景中都可以发挥…定义了一种一对多的依赖关系允许多个观察者也称为订阅者对象同时监听一个主题对象当主题对象发生变化时所有依赖于它的观察者都会收到通知并自动更新。 观察者模式的使用场景 观察者模式在许多场景中都可以发挥作用特别是在需要解耦和实现对象间动态通信的情况下 事件处理和 GUI 在图形用户界面GUI应用中用户界面元素如按钮、文本框可以作为观察者而事件如点击按钮可以作为主题以实现用户界面与业务逻辑之间的解耦。订阅/发布模型 观察者模式常被用于实现发布/订阅模型其中发布者是主题订阅者是观察者。这在消息队列系统、事件总线等场景中非常有用允许消息的生产者发布消息而消费者订阅并处理消息。通知和提醒系统 观察者模式可以用于实现通知和提醒系统。例如在一个新闻网站中当有新的新闻发布时订阅了该类新闻的用户会收到通知。股票市场分析 在金融领域观察者模式可以用于股票市场分析工具。股票价格的变化可以作为主题不同的分析器可以作为观察者以便在价格变化时及时更新分析结果。网络应用中的状态同步 在分布式系统或网络应用中观察者模式可以用于状态同步。当一个节点的状态发生变化时其他节点可以作为观察者以便实时更新其本地状态。游戏开发 在游戏开发中观察者模式可以用于处理游戏内的事件、状态变化、角色行为等。例如当一个角色受到伤害时其他角色可以作为观察者获得相应的通知。传感器数据监测 在物联网领域传感器收集到的数据可以作为主题不同的监测系统可以作为观察者以便在数据变化时进行监测和报警。 观察者模式涉及的角色 主题Subject 主题是被观察的对象它维护一组观察者对象并提供方法用于添加、删除和通知观察者。主题通常包含状态或数据当状态变化时会通知所有观察者。 定义了添加、删除和通知观察者的方法。 维护一个观察者列表用于存储注册的观察者。 当主题状态变化时调用通知方法以便通知所有注册的观察者。具体主题Concrete Subject 具体主题是实际的被观察对象它继承或实现主题接口负责实现主题的具体逻辑。它会在状态变化时通知所有已注册的观察者。 继承或实现主题接口。 包含需要被观察的状态或数据。 在状态变化时调用通知方法来通知所有观察者。观察者Observer 观察者是订阅主题状态变化的对象它定义一个更新方法当主题状态发生变化时观察者的更新方法会被调用从而观察者可以获取最新的信息并执行相应的操作。 定义了一个更新方法用于在主题状态变化时被调用。 观察者通过该方法获取主题最新的状态信息然后执行相应的操作。具体观察者Concrete Observer 具体观察者是实际的观察者对象它实现了观察者接口的更新方法以便在主题状态变化时执行特定的操作。 实现观察者接口的更新方法以便在主题状态变化时执行具体的操作。 在更新方法中根据主题的状态变化来做出响应。 java代码实例 演示了使用观察者模式实现一个天气预报系统 主题接口 package cn.observer.service;public interface Subject {//添加接受这void addObserver(Observer_ observer);//一处接受者void reduceObserver(Observer_ observer);//消息变动void notifyObservers();}具体主题 //天气驿站 public class WeatherStation implements Subject{private ListObserver_ observersnew ArrayList();private float temperature;//天气温度Overridepublic void addObserver(Observer_ observer) {this.observers.add(observer);}Overridepublic void reduceObserver(Observer_ observer) {this.observers.remove(observer);}Overridepublic void notifyObservers() {for (Observer_ observer: observers) {observer.recept(this.temperature);}}public void setTemperature(float temperature) {this.temperature temperature;notifyObservers();}}观察者接口 //天气广播台public interface Observer_ {void recept(float temperature);}具体观察者 public class WeatherDisplay implements Observer_{Override public void recept(float temperature) {System.out.println(当前温度temperature度); } }客户端 public class Observer {public static void main(String[] args) {WeatherStation station new WeatherStation();WeatherDisplay display new WeatherDisplay();station.addObserver(display);station.setTemperature(25.5f);station.reduceObserver(display);station.setTemperature(30.0f); }}输出结果 当前温度25.5度观察者模式的优缺点 优点 解耦性 观察者模式可以将主题对象与观察者对象之间的依赖关系解耦使它们可以独立变化不会相互影响。灵活性和可扩展性 由于主题和观察者之间的关系是松耦合的可以轻松添加新的观察者或修改现有的观察者而不需要修改主题。一对多通信 观察者模式允许一个主题同时通知多个观察者这在实现发布/订阅模型、事件处理和消息传递等场景中非常有用。可维护性 观察者模式使系统中的各个部分更容易理解和维护因为它将复杂的交互逻辑分解为独立的观察者对象。支持动态添加和移除观察者 可以动态地注册和注销观察者使系统更加灵活。 缺点 内存泄漏 如果观察者没有正确注销它们仍然会保留对主题的引用可能导致内存泄漏。不当使用带来复杂性 过多或不合理地使用观察者模式可能会导致系统复杂化降低可维护性。因此在设计时需要权衡使用。顺序问题 观察者模式中观察者的通知顺序是不确定的这可能导致一些问题特别是在观察者之间有相互依赖关系时。性能问题 当观察者数量庞大且通知频繁时可能会影响性能。因此在高性能要求的系统中需要谨慎使用。
http://www.hkea.cn/news/14551552/

相关文章:

  • 国医堂网站平台建设福田公司
  • 那个网站可以免费建站公司网站设计的公司
  • 长沙网站优化指导炎陵网站建设
  • 毕业设计 建设旅游网站wordpress 主题管理
  • 医药网站建设的需求分析邯郸网络教研平台
  • 网站建设服务器的选择方式包括做网站一般都用什么字体
  • 营销网站建设平台网站建设维护 微信
  • 深圳做分销网站西安网站设计西安搜推宝
  • 公司做一个网站内容如何设计南通企业网站制作
  • 商务网站的可行性分析包括帝国网站管理系统教程
  • 中山品牌网站建设推广响应式网站 768 320
  • dw做网站的搜索栏怎么做嘉定网站建设
  • 电商网站前端页面内容编写采集做网站
  • 八亿免费建站淘宝网站怎么做视频
  • 百度怎么优化网站关键词一站式婚庆公司
  • php建设网站后台济南天桥区网站建设公司
  • 企业做网站公司五月色做受网站
  • 大淘客怎么做网站天元建设集团有限公司济南六公司
  • 产品介绍网站如何做seo广告制作公司的营业成本
  • 站长统计性宝app个人网站设计论文怎么写
  • 什么网站可以做高仿建设班级网站
  • 国内做设计的网站建设丽水微信网站建设价格
  • 网站开发工程师的生活形态小门店做网站
  • 怎么建立网站个人网站备案通过后
  • 中国建设银行门户网站做一个手机购物网站多少钱
  • 淮北市矿业工程建设公司网站wordpress2017
  • 快手点赞购买网站wordpress 发布文章 自定义栏目
  • 把公司网站 公开下载 做教程 侵权吗网站301重定向 权重转移
  • 移动端网站建设费用开源 购物网站
  • 深圳网站推广活动方案东莞做网站微信巴巴