龙岗企业网站建设关键词难易度分析

news/2025/9/28 12:16:10/文章来源:
龙岗企业网站建设,关键词难易度分析,住房和城乡建设部网站资质查询,牛网站观察着模式是一种行为设计模式#xff0c;可以用来定义对象间的一对多依赖关系#xff0c;使得每当一个对象状态发生改变时#xff0c;其相关依赖对象皆得到通知并被自动更新。 观察者模式又叫做发布-订阅#xff08;Publish/Subscribe#xff09;模式、模型-视图#xf…观察着模式是一种行为设计模式可以用来定义对象间的一对多依赖关系使得每当一个对象状态发生改变时其相关依赖对象皆得到通知并被自动更新。 观察者模式又叫做发布-订阅Publish/Subscribe模式、模型-视图Model/View模式、源-监听器Source/Listener模式或从属者Dependents模式。 Observer is a behavior design pattern that can be used to define one to many dependencies between objects, so that whenever an objects state changes, its related dependent objects are notified and automatically updated. Observer pattern is also called Publish/Subscribe mode, Model/View mode, Source/Listener mode or Dependents mode. 结构设计 观察者模式包含如下角色 Subject: 目标提供注册和删除观察者对象的接口。会向观察者对象发送值得关注的事件。 ConcreteSubject: 具体目标实现注册和删除观察者对象的接口。当目标的状态发生改变时目标会遍历观察者列表并调用每个观察者对象的通知方法。 Observer: 观察者为那些在目标发生改变时需获得通知的对象定义了一个更新接口。在绝大多数情况下该接口仅包含一个update方法。该方法可以拥有多个参数使目标能在状态更新时传递详细信息。 ConcreteObserver: 具体观察者维护一个指向ConcreteSubject的引用。实现Observer的更新接口已使自身状态与目标状态保持一致。 观察者模式类图表示如下 伪代码实现 接下来将使用代码介绍下观察者模式的实现。 // 1、观察者定义了一个更新接口用于目标发生改变时传递详细信息 public class Observer {public void update() {System.out.println(I am an observer instance);} } // 2、具体观察者实现观察者的更新接口使自身状态与目标状态保持一致 public class ConcreteObserver extends Observer {public void update() {super.update();doSomething();}private void doSomething() {System.out.println(I am a concrete observer instance);} } // 3、目标提供注册和删除观察者对象的接口会向观察者对象发送值得关注的事件 public abstract class Subject {private ListObserver observerList new ArrayList();public void attach(Observer observer) {observerList.add(observer);}public void detach(Observer observer) {observerList.remove(observer);}public void notifyObserver() {if (observerList null || observerList.size() 0) {return;}observerList.forEach(Observer::update);}public abstract void doSomething(); } // 4、具体目标实现目标的接口指定通知观察者的具体时机 public class ConcreteSubject extends Subject {public void doSomething() {notifyObserver();} } // 5、客户端 public class ObserverClient {public void test() {Observer observer1 new ConcreteObserver();Observer observer2 new ConcreteObserver();Subject subject new ConcreteSubject();subject.attach(observer1);subject.attach(observer2);subject.doSomething();subject.detach(observer2);subject.doSomething();} }适用场景 在以下情况下可以考虑使用观察者模式 (1) 一个抽象模型有两个方面其中一个方面依赖于另一个方面。将这些方面封装在独立的对象中使它们可以各自独立地改变和复用。 (2) 一个对象的改变将导致其他一个或多个对象也发生改变而不知道具体有多少对象将发生改变可使用观察者模式以降低对象之间的耦合度。 (3) 一个对象必须通知其他对象而并不知道这些对象是谁。 (4) 需要在系统中创建一个触发链A对象的行为将影响B对象B对象的行为将影响C对象……可以使用观察者模式创建一种链式触发机制。 优缺点 观察者模式有以下优点 (1) 松耦合。在观察目标和观察者之间建立一个抽象的耦合。 (2) 符合开闭原则。无需修改发布者代码就能引入新的订阅者类 如果是发布者接口则可轻松引入发布者类。 (3) 支持广播通信。 (4) 可以实现表示层和数据逻辑层的分离并定义了稳定的消息更新传递机制抽象了更新接口使得可以有各种各样不同的表示层作为具体观察者角色。 但是该模式也存在以下缺点 (1) 如果一个观察目标对象有很多直接和间接的观察者的话将所有的观察者都通知到会花费很多时间。 (2) 如果在观察者和观察目标之间有循环依赖的话观察目标会触发它们之间进行循环调用可能导致系统崩溃。 (3) 观察者模式没有相应的机制让观察者知道所观察的目标对象是怎么发生变化的而仅仅只是知道观察目标发生了变化。 参考 《设计模式 可复用面向对象软件的基础》 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 著, 李英军, 马晓星等译 https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/observer.html 观察者模式 https://refactoringguru.cn/design-patterns/observer 观察者模式 https://www.runoob.com/design-pattern/observer-pattern.html 观察者模式 https://www.cnblogs.com/adamjwh/p/10913660.html 简说设计模式——观察者模式 https://blog.csdn.net/ShuSheng0007/article/details/125122173 秒懂设计模式之观察者模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清华紫光做网站个人适合网站类型

计时器机制俗称"心跳",表示以特定的频率持续触发特定事件和执行特定程序的机制。在开发Windows应用商店应用的过程中,可以使用定义在Windows::UI::Xaml命名空间中的DispatcherTimer类来创建计时器。DispatcherTimer类包含了如下的成员&#xf…

US$37.05 YANHUA ACDP N55 Integrated Interface Board

YANHUA ACDP N55 Integrated Interface BoardDME Integrated Interface BoardFeatures: Simple operation. Plus to use it directly. Safe and reliable connetion!Package List:1pc x YANHUA ACDP N55 Integrated In…

提供零基础网站建设教学美工详情页设计一般多少钱

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 会…

US$198 One Year Update Service for XTOOL X100 PAD and X100 PAD Plus

One Year Update Service for XTOOL X100 PADXTOOL X100 PAD is free update online for two years. After two years, if you still want to update it online, please pay for this one year update online service.…

Storm-0501威胁组织利用云技术实施勒索攻击的技术分析

微软威胁情报团队详细分析了Storm-0501威胁组织从传统本地勒索软件转向云勒索攻击的技术演进。文章深入剖析了攻击者如何通过权限提升、数据窃取和资源销毁等云原生技术实施勒索,并提供了全面的防护建议和检测指南。S…

模型插入 NV12 预处理节点精度问题排查流程

一、引言 在近期工具链实践过程中,频繁出现 BC 模型在插入 NV12 预处理节点后精度崩溃的现象。经分析,此类问题可分为两类:其一为用户侧 BGR/RGB 转 NV12 的代码实现缺陷;其二为 BGR/RGB 与 NV12 格式转换过程中固…

【ARM Cache与 MMU 系列文章 7 – ARMv8v9 MMU 页表配置 01 】

1.1 ARM MMU 1.1.1 虚拟地址位宽配置 64 位虚拟地址中,并不是所有位都用上,除了高 16 位用于区分内核空间和用户空间的虚拟地址外,虚拟地址的有效位的配置可以是:36, 39, 42, 47。在代码中,可以看到寄存器 TCR_EL1…

完整教程:【开题答辩过程】以《SpringMVC在筑原平面设计定制管理信息系统的应用与实践》为例,不会开题答辩的可以进来看看

完整教程:【开题答辩过程】以《SpringMVC在筑原平面设计定制管理信息系统的应用与实践》为例,不会开题答辩的可以进来看看pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !imp…

做盗版网站吗怎样进入wordpress仪表盘

仅使用numpy从头开始实现神经网络,包括反向传播公式推导过程: https://www.ctolib.com/yizt-numpy_neural_network.html

成都恒利泰转接器,驻波低到离谱

成都恒利泰转接器,驻波低到离谱成都恒利泰科技有限公司,旗下品牌 HenryTech(恒利泰),拥有20多条产品线,包括LTCC/LC滤波器、功分器、巴伦变压器、耦合器、射频转接头、射频连接器、射频同轴负载、射频衰减器、射频…

如何用手机建设一个网站受欢迎的句容网站建设

任务调度算法 抢占式调度:高优先级的任务优先执行,并且可以打断低优先级的任务执行。 时间片轮转:相同优先级的任务,拥有相同的时间片,当时间片被耗尽,就退出当前任务。 空闲任务 空闲指的就是当系统中…

Lucene 8.7.0 版本中doc、tim、tip、tmd材料详解

Lucene 8.7.0 版本中doc、tim、tip、tmd材料详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

社交网站平台怎么做怎么建设微信网站

0x43 线段树 线段树(Segment Tree)是一种基于分治思想的二叉树结构,用于在区间进行信息统计。与按照二进制位(2的次幂)进行区间划分的树状数组相比,线段树是一种更加通用的结构: 1.线段树的每…

US$289 VVDI2 AUDI and 5th IMMO Functions Authorization Service

VVDI2 AUDI and 5th IMMO Functions Authorization ServiceNotice:VVDI basic function(SV86-C) can not open this now.Tips: No need shipping, after you pay this service, we will open the authorization for yo…

如何给网站做右侧导航桂林市区地图

每个员工都会有自己的档案,主管可以查看在职员工的档案。使用 Java 创建一个员工实体类,然后通过构造方法创建一个名为“王洁”的员工,最后打印出员工档案信息。 1 . 创建 Person 类,在该类中定义个人基本信息属性,并…

网页制作模板的网站那个网站教你做毕设的

使用情景 今天开发上遇到一个搜索的需求,要求可以多选,模糊查询。我首先和前端沟通,前端多选后使用逗号分隔,拼成字符串传输给我,我后端再进行具体的处理。 具体处理 初步构想 由于需要查询的字段也是一个长的字符…

非线性规划、最优控制与多目标优化

一、非线性规划(Nonlinear Programming,NLP) 1、线性规划LP:运筹学中,对于资源分配、计划调度等问题,有数学公式可以求解,数学公式的目标函数与所有约束条件均为线性2、非线性函数:二次函数、指数函数、三角函…

记录,结构,枚举,ref,in和out 元组

记录 本章前面提到,记录是支持值语义的引用类型。这种类型可以减少你自己需要编写的代码,因为编译器会实现按值比较记录的代码,并提供其他一些特性 不可变类型 记录的一种主要用例是创建不可变类型(不过使用记录也…

清远市企业网站seo东莞市人才招聘网

在基于NT内核的Windows操作系统家族中,Svchost.exe是一个非常重要的进程。很多病毒、木马驻留系统与这个进程密切相关,因此深入了解该进程是非常有必要的。本文主要介绍Svchost进程的功能,以及与该进程相关的知识。      Svchost进程概述…