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

  • 相关阅读:
    python----23-集合
    面向对象实验三重载
    基于Python实现的图形绘制系统
    48_Collection集合
    mysql“数据不存在插入,存在则更新”实现
    面试:常用的设计模式总结
    【编程题】【Scratch三级】2022.06 古堡历险记
    windows CMD命令的一些使用方法及注意事项
    计算机毕业设计Java影音娱乐销售管理系统(系统+程序+mysql数据库+Lw文档)
    SpringMVC:处理器方法的返回值(动力)
  • 原文地址:https://blog.csdn.net/uesowys/article/details/139292447