Java设计模式-活动对象与访问者

news2024/11/15 16:45:59

活动对象

Java设计模式中,活动对象是指一个对象始终处于活动的状态,该对象包括一个线程安全的数据结构以及一个活跃的执行线程。

图片

如上所示,ActiveCreature类的构造函数初始化一个线程安全的数据结构(阻塞队列)、初始化一个活跃的执行线程,执行线程持续不断地从数据结构中获取需要处理的数据元素,执行业务逻辑

访问者

Java设计模式中,访问者是指一个对象接受其他对象的访问,受访者提供接待来访者的接口方法,来访者提供访问受访者的接口方法,来访者在受访者的内部访问受访者提供的信息,从OOP继承封装多态的特性看,体现出类对象的封装性,封装性提供类信息安全隔离的作用。

图片

如上所示,访问者接口、访问者接口实现类、受访者接口、受访者接口实现类之间的继承关系、实现关系、依赖关系的类图

Modem接口

受访者接口,提供accept方法接待来访者

Hayes类

Hayes类型受访者实现类,提供accept方法的具体实现,提供具体的接待内容  

Zoom类

Zoom类型受访者实现类,提供accept方法的具体实现,提供具体的接待内容  

ModemVisitor接口

访问者接口类型,不定义方法,标识访问者的接口类型

HayesVisitor接口

Hayes类型访问者的继承接口,提供visit方法访问Hayes类型受访者

ZoomVisitor接口

Zoom类型访问者的继承接口,提供visit方法访问Zoom类型受访者

AllModemVisitor接口

Hayes类型访问者以及Zoom类型访问者的继承接口,同时继承两个接口,同时提供visit方法访问Hayes类型受访者以及Zoom类型受访者

ConfigureForDosVisitor类

AllModemVisitor接口实现类,提供visit方法的具体实现,提供具体的访问内容

ConfigureForUnixVisitor类

ZoomVisitor接口的实现类,提供visit方法的具体实现,提供具体的访问内容

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

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

相关文章

IAR9.30安装和注册相关

下载解压licpatcher64工具,把licpatcher64.exe拷贝到IAR的安装目录中双击运行。 示例IAR9.30.1默认安装如下如下,一共三个分别拷贝运行,不要遗漏。 C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm\bin C:\Program Files\IAR Syst…

DiffIR论文阅读笔记

ICCV2023的一篇用diffusion模型做Image Restoration的论文,一作是清华的教授,还在NIPS2023上一作发表了Hierarchical Integration Diffusion Model for Realistic Image Deblurring,作者里甚至有Luc Van Gool大佬。模型分三个部分&#xff0c…

无需安装的在线PS:打开即用

为什么想用在线PS网页版?Photoshop常用于平面设计,是不少设计师接触过的第一款设计软件。作为一款平面设计工具,ps功能太多,并且没有在线版,这不仅需要设计师花费时间学习软件,还需要设计师具备一定的设计能…

2023年全球DDoS攻击现状与趋势分析

天翼安全科技有限公司副总工程师、运营保障部总经理陈林表示,2023年扫段攻击频次快速增长,成为网络基础设施面临的最大威胁。为躲避防御,低速扫段攻击成为主流达到攻击总数的73.19%;43.26%的C段攻击持续时间小于5分钟,…

Science Advances|柔性超韧半导体纤维的大规模制备(柔性半导体器件/可穿戴电子/纤维器件/柔性电子)

北京大学 雷霆(Ting Lei)团队,在《Science Advances》上发布了一篇题为“Continuous production of ultratough semiconducting polymer fibers with high electronic performance”的论文。论文内容如下: 一、 摘要 共轭聚合物具有良好的光电特性,但其脆性和机械特性差,…

03 Prometheus+Grafana可视化配置

03 PrometheusGrafana可视化配置 大家好,我是秋意零。接上篇Prometheus入门安装教程 grafana官网下载安装包比较慢,如果没有魔法。可关注公众号【秋意零】回复101获取 Grafana官网下载:https://grafana.com/grafana/download 这里采用的二进制…

定个小目标之每天刷LeetCode热题(3)

这是一道简单题&#xff0c;我这里就只讲两种解法 第一种是数组加双指针&#xff0c;先遍历链表将值存到数组里&#xff0c;然后分别从数组两端进行一一比较判断是否满足回文&#xff0c;代码实现 class Solution {public boolean isPalindrome(ListNode head) {List<Inte…

重生奇迹mu卡智力的方法

1、准备3个号A打手,B智力MM,C随意。 2、使用C匹配组队,但是不能选择自动进入队伍。 3、用A申请C的队伍,但是C不做通过处理。 4、用A组B,用快捷键D的方式。 5、所谓的卡智力就是智力MM可以给打手加属性加血&#xff0c;但是并不在一个队伍里享受经验&#xff0c;适用于MM不是…

如何批量结构化分汇多工作表sheet?

目录 一、如遇合并表格&#xff0c;注意结构化二、确认主键&#xff0c;合并所有文件数据三、sheet2同理四、案例总结 如果遇到这样情形&#xff0c;多文件夹多文件&#xff0c;多工作表的分汇场景&#xff1b;可以参考以下方法解决。 一、如遇合并表格&#xff0c;注意结构…

Python 机器学习 基础 之 算法链与管道 【算法链与管道/预处理进行参数选择/构建管道/在网格搜索中使用管道】的简单说明

Python 机器学习 基础 之 算法链与管道 【算法链与管道/预处理进行参数选择/构建管道/在网格搜索中使用管道】的简单说明 目录 Python 机器学习 基础 之 算法链与管道 【算法链与管道/预处理进行参数选择/构建管道/在网格搜索中使用管道】的简单说明 一、简单介绍 二、算法链…

「异步魔法:Python数据库交互的革命」(一)

Hi&#xff0c;我是阿佑&#xff0c;今天将和大家一块打开异步魔法的大门&#xff0c;进入Python异步编程的神秘领域&#xff0c;学习如何同时施展多个咒语而不需等待。了解asyncio的魔力&#xff0c;掌握Async SQLAlchemy和Tortoise-ORM的秘密&#xff0c;让你的数据库操作快如…

2024广东省赛 G.Menji 和 gcd

题目 #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 #define ll long long const int maxn 1e6 5, inf 1e12, maxm 4e4 …

脑机接口:是现代医学的外挂,更是瘫痪病人的豪赌

5 月 17 日&#xff0c;马斯克公开表示&#xff0c;继今年年初首次成功将大脑芯片植入患者大脑后&#xff0c;Neuralink 正在寻找第二位受试者接受这项手术。 5 月 20 日&#xff0c;美国食品药品监督管理局 (FDA) 批准了马斯克的 Neuralink 公司为第二位患者植入脑芯片&#…

超详细介绍基于微调 Faster R-CNN实现海上航拍图像中检测小物体-含源码与数据集免费下载

在航拍图像中检测小物体,尤其是对于海上救援等关键应用而言,是一项独特的挑战。及时检测水中的人可能意味着生死之间的差别。我们的研究重点是微调 Faster R-CNN(一种强大的两阶段物体检测器),以满足这一重要需求。 我们研究的核心是SeaDroneSee 数据集,这是一组重要的图…

Springboot项目搭建 jdk1.8

1.idea创建项目 2.项目配置 maven 编辑项目编码 删除无用文件 修改配置文件后缀&#xff0c;设置数据库 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/honey2024?useSSLfalse&useUnicodetrue&characterEncodingUT…

随手记:多行文本域存数据有换行,回显数据换行展示

1.在新增的时候存储数据 <el-input type"textarea"v-model"XXXX"></el-input> 2.详情页返回的数据&#xff1a; replace一顿操作确实复杂 最快的方法直接写个样式:style"white-space: pre-line" 即可行内或者class样式都可以 …

windows 下载redis (通过redis-server.exe启动服务)

下载链接&#xff1a; https://github.com/MicrosoftArchive/redis/releases 启动&#xff1a; 查看&#xff1a; 人工智能学习网站 https://chat.xutongbao.top

在项目中集成Web端数据库操作:推荐工具一览

在项目中集成Web端数据库操作&#xff1a;推荐工具一览 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍…

Excel快速判断大量身份证性别,VBS代码

身份证判断性别的原理就是,身份证倒数第二位是单数表示是男的,单数是女的 可以用IF公式来判断,但是需要下拉,如果几百上千条数据还好,要是上万就不好拉取了,如果数据太多,可以用VBA代码判断 IF(MOD(VALUE(MID(A1,17,1)),2)0,"女","男") 原理:MID(A1,17,1…

【408真题】2009-24

“接”是针对题目进行必要的分析&#xff0c;比较简略&#xff1b; “化”是对题目中所涉及到的知识点进行详细解释&#xff1b; “发”是对此题型的解题套路总结&#xff0c;并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材&#xff08;2025版&…