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

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

活动对象

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.lryc.cn/news/359067.html

相关文章:

  • 用HAL库改写江科大的stm32入门-6-3 PWM驱动LED呼吸灯
  • [数据集][目标检测]喝水检测数据集VOC+YOLO格式995张3类别
  • 【C++】开源:RabbitMQ安装与配置使用(SimpleAmqpClient)
  • git使用流程与规范
  • 力扣 264. 丑数 II python AC
  • resetlogs强制拉库失败并使用备份system文件还原数据库故障处理---惜分飞
  • 解析Java中1000个常用类:Error类,你学会了吗?
  • 【C++】——string模拟实现
  • unity2D跑酷游戏
  • OWASP top10--SQL注入(四、sqlmap安装及使用)
  • Java基础入门day62
  • Oracle中两张表具有相同结构,如何将一张表内容全部插入到另一个表中
  • 比特币的理论上限是多少个?
  • LeetCode-131 分割回文串
  • Flutter 中的 SliverPrototypeExtentList 小部件:全面指南
  • NeuralForecast 推理 - 数据集从文件dataset.pkl读
  • TS-类型转换(显式)
  • protobufjs 配置踩坑记录
  • freeswitch官方仓库
  • element ui el-calendar日历组件完整代码
  • 初识java——javaSE(8)异常
  • C语言面试题11至20题
  • 视频汇聚EasyCVR综合安防平台对接GA/T1400公安视图库及应用方案
  • 在Github找自己想要的的项目
  • 第16篇:JTAG UART IP应用<三>
  • Python——Selenium快速上手+方法(一站式解决问题)
  • 2024最新群智能优化算法:大甘蔗鼠算法(Greater Cane Rat Algorithm,GCRA)求解23个函数,提供MATLAB代码
  • 苍穹外卖数据可视化
  • AWS需要实名吗?
  • Android下HWC以及drm_hwcomposer普法(下)