首页 > 其他分享 >杜撰23中设计模式--观察者模式

杜撰23中设计模式--观察者模式

时间:2023-10-23 23:49:07浏览次数:28  
标签:23 -- articleOwner update 观察者 对象 设计模式

一对多的依赖关系。

对象的状态发生改变(一),依赖对象得到通知并进行更新操作。

观察者:

 这里的Observer定义了观察者的通用的方法update,在这里重写了update方法。

 

被观察对象的类:

被观察对象类继承被观察对象接口Observable,这个接口

 维护一个观察者列表,一个changed状态值标识状态是否转变。还有添加观察者,通知观察者等方法。

 

具体代码逻辑: 

 这里我们给articleOwner添加一个观察者。

然后我们让被观察者articleOwner发布文章,也就是调用了

 在这里的nitifyObservers(article) 会把article传入观察者的update方法。

具体的源码如下

 

标签:23,--,articleOwner,update,观察者,对象,设计模式
From: https://www.cnblogs.com/dwj-ngu/p/17783752.html

相关文章

  • 第六课
    for循环()里面的含义:初始量,循环条件,循环每轮要做的事。for与whlie的不同体现在for是先把条件写出来,包括每轮要做的事;但while是需要在后面补充的                              任何一个for循环都可以改成whlie循环......
  • EJB
    2023.10.231.weblogic中开发消息Bean时的persistent与non-persisten的差别:persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来。non-persistent方式的消息将被丢弃。......
  • BOM、DOM、事件监听
    BOM概念:BrowserObjectModel浏览器对象模型,允许JavaScript与浏览器对话,JavaScript将浏览器的各个组成部分封装为对象组成:Window:浏览器窗口对象Navigator:浏览器对象Screen:屏幕对象History:历史记录对象Location:地址栏对象 Window:浏览器窗口对......
  • 学校(抽象dp)
    题目简述选择的学校编号依次为\(p1,p2,p3,...,pk(1≤p1<p2<...<pk≤n)\),若存在\(i(1≤i≤k−3)\)使得$a_{p_i}⊕a_{p_{i+1}}⊕a_{p_{i+2}}⊕a_{p_{i+3}}=s$,则该序列不合法。求在所有\(2^{n−1}\)个可能的序列中问有多少个序列合法。你......
  • md5算法实现
    前言md5算法是我们经常会用到的一个hash函数,虽然已经被证明是不安全的了,但其应用依然十分广泛.哈希函数具有如下特点:将任意长度的字符串映射为固定长度源数据微小的改动会导致结果差异巨大不可逆暴力破解困难你有没有好奇过,哈希函数是如何做到这些的呢?本文就拿m......
  • Proj CDeepFuzz Paper Reading: POLYCRUISE: A Cross-Language Dynamic Information F
    Abstract本文:PolyCruiseMethod:跨编程语言的holisticdynamicinformationflowanalysis(DIFA)usealightlanguage-specificanalysis和language-agnosticonlinedataflowanalysis来计算symbolicdependencies实验:数据集:PolyBench,包含小中大三种等级的benchmarks效......
  • 首屏图片展示
     找到一个首页过度动画:<template><divref="centerBg"class="centerBg"><!--mask--><divv-if="len"class="mask"><divclass="grid":style="{gridTemplateColumns:......
  • 华为云服务器+使用本地navcat管理数据库
     在开发中,我们需要用数据相关管理软件,来本地管理华为云耀云服务器L实例服务器上的数据库,Navicat 是一款功能强大的数据库管理工具,它具有许多优点,可以帮助数据库管理员和开发人员更轻松地管理数据库。以下是使用 Navicat 软件管理数据库的一些好处:1. 多数据库支持:Navicat......
  • 每日总结20231023
    代码时间(包括上课)3h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周一,新的一周开始了,然后软件模式是上机课,这节课写的第一个实验是UML的复习,赶上软考也考UML,正好趁着这个机会把uml的知识多看看。2、第二节课是人机交互技术,这节课老师点了五名同学讲了一下他们分别对H+这个模......
  • 华为云服务器+配置安全组
     华为云耀云服务器L实例安全组是华为云计算平台中用于管理网络流量和增强服务器安全性的关键功能。安全组允许您定义入站和出站规则,以控制服务器上的流量访问。以下是有关华为云耀云服务器L实例安全组的关键信息: 1. **规则和策略**:安全组包含一组规则,这些规则定义了允许或......