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方法的具体实现,提供具体的访问内容 |

相关推荐
chxii1 分钟前
Maven 详解(上)
java·maven
李少兄3 分钟前
IntelliJ IDEA 远程调试(Remote Debugging)教程
java·ide·intellij-idea
Kuo-Teng7 分钟前
Leetcode438. 找到字符串中所有字母异位词
java·算法·leetcode
火车叨位去19499 分钟前
软件设计模式(tyutJAVA 状态模式实验)
设计模式·状态模式
毕设小屋vx ylw28242615 分钟前
Java开发、Java Web应用、前端技术及Vue项目
java·前端·vue.js
TDengine (老段)19 分钟前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
赵文宇(温玉)26 分钟前
构建内网离线的“github.com“,完美解决内网Go开发依赖
开发语言·golang·github
float_com30 分钟前
【java基础语法】------ 数组
java
qq74223498430 分钟前
Python操作数据库之pyodbc
开发语言·数据库·python
Joker1008531 分钟前
仓颉自定义序列化:从原理到高性能多协议实现
开发语言