首页 > 其他分享 >观察者模式

观察者模式

时间:2023-04-26 20:46:04浏览次数:25  
标签:主体 通知 观察者 模式 线程 执行

曾经被面试官问了一个问题:有一个线程执行某个任务,希望它主动通知执行结果。

当时一直不能理解,虽然后来知道他想问的是观察者模式,但是这里的通知两个字可能不太准确,因为在实际编写代码的时候,观察者主体的所谓的通知,大多数情况都是要执行能处理线程结果的逻辑,而不仅仅是通知。

观察者模式的角色就两个:主体和观察者

本质就是:主体中保存观察者的对象作为私有属性,在主体业务方法中屌用对象的方法就可以完成通知

标签:主体,通知,观察者,模式,线程,执行
From: https://www.cnblogs.com/benjerry/p/17357213.html

相关文章

  • EXP-00026: 指定了冲突模式
    C:\>exphibernate/hibernate@orclfile=c:\emp.dmpfull=ytables=(emp)Export:Release10.2.0.1.0-Productionon星期五5月922:57:132014Copyright(c)1982,2005,Oracle.Allrightsreserved.连接到:OracleDatabase10gEnterpriseEditionRelease10.......
  • 【Java设计模式】装饰者设计模式
    目录1.装饰者模式(Wrapper)概念2.装饰者是什么?3.装饰者设计模式-参与者3.1组成3.1Demo1.Component(抽象构件)2.ConcreteComponent(具体构件)3.Decorator(抽象装饰类)4.ConcreteDecorator(具体装饰类)5.Test类:3.2总结4.JDK源码中的装饰者设计模式扩展:开闭原则1.装饰者模式(Wra......
  • 简单工厂模式
    一、第一种方法//实现了客户端调用和implOne,implTwo的解耦合//factory类实现了变化隔离1#include<string>2#include"DynOBJ.h"3usingnamespacestd;45classApi{6public:7virtualvoidtest(strings)=0;8protected:9Api(){}10};11......
  • 设计模式(18)-Command Pattern
    一、 命令(Command)模式命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。......
  • Volar Takeover 模式是什么
    当我们用vite创建一个使用TypeScript的vue3项目时,用VSCode打开Workspace时,有时会发现tsconfig.json、vite.config.ts文件内会报引用错误,这就是Volar插件(TypeScriptVuePlugin(Volar))导致的问题,由于Volar插件另外启用了一个TS语言服务实例,用于vue单文件组件和TypeScript一起工......
  • 设计模式
    总体设计模式分为三大类:创建型模式,共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共7种:代理模式、桥接模式、适配器模式、装饰器模式、外观模式、享元模式、组合模式。行为型模式,共11种:观察者模式、策略模式、模板方法模式、迭代子模式、责任链......
  • MFC-GetBkMode获取指定DC的背景混合模式
     HDChdc=::GetDC(m_hWnd);LOGFONTlf={0};lf.lfWeight=16;//平均宽度lf.lfHeight=40;//字体高度lf.lfCharSet=GB2312_CHARSET;//字符集lstrcpy(lf.lfFaceName,_T("宋体"));HFONThfont=::CreateFontIndirect(&lf)......
  • MFC-SetBkMode设置指定DC的背景混合模式
     HDChdc=::GetDC(m_hWnd);LOGFONTlf={0};lf.lfWeight=16;//平均宽度lf.lfHeight=40;//字体高度lf.lfCharSet=GB2312_CHARSET;//字符集lstrcpy(lf.lfFaceName,_T("宋体"));HFONThfont=::CreateFontIndirect(&lf)......
  • rabbitMQ镜像模式搭建
    一、环境 配置hosts解析192.168.1.135rabbit-master01192.168.1.136rabbit-master02192.168.1.137rabbit-master03关闭防火墙或者配置相关端口二、安装yum源及rabbitmq在所有机器上curl-shttps://packagecloud.io/install/repositories/rabbitmq/erlang/script.r......
  • 系统认知篇:防腐层、门面模式及适配模式的本质
    作者:京东科技倪新明门面模式和适配器模式是代码级的设计模式,而防腐层本质是一种防御型策略,在更高的层级对系统进行解耦1关于防腐层Anti-CorruptionLayer(ACL)如下:Implementafaçadeoradapterlayerbetweendifferentsubsystemsthatdon'tsharethesamesema......