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

相关推荐
wuyk5551 分钟前
Python 零基础入门第九章:用户输入与 While 循环
开发语言·python
兮动人5 分钟前
Python变量与常量
开发语言·python·机器学习·python变量与常量
CCYe、10 分钟前
新模型上线、旧模型下线:企业AI网关如何管住模型版本
java·网络·数据库·人工智能
风筝在晴天搁浅12 分钟前
解题代码清爽版
java·开发语言
NeverFear79214 分钟前
【黑马点评】短信登录
java·redis·tomcat·intellij-idea
Java后端的Ai之路20 分钟前
21、Python - 命令模式
开发语言·人工智能·python·命令模式·外观模式
astronautyi25 分钟前
Go 运行时内存分配与 GC 位图深度剖析
开发语言·后端·golang
techdashen31 分钟前
Go 中如何处理错误
开发语言·后端·golang
2601_962298671 小时前
正则表达式引擎 哪些
java·python·perl·pcre·正则表达式引擎
孙克旭_1 小时前
JVM 入门详解:JVM、JRE、JDK 区别,JVM 基础结构梳理
java·开发语言·jvm