千家信息网

web访问者模式结构是怎样的

发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,今天小编给大家分享一下web访问者模式结构是怎样的的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来
千家信息网最后更新 2024年10月07日web访问者模式结构是怎样的

今天小编给大家分享一下web访问者模式结构是怎样的的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

结构

面向对象中封装的想法是将数据和操作数据的方法集中在一个类中,以达到高内聚低耦合的效果。但是有时也会希望将目的相关或相同的针对不同类型的操作集中到一个类中。这种方式就是访问者模式,它的结构如下:

访问者类Visitor定义两个不同的接口分别用于访问构造图下半部分的两个Element的派生类。访问者类Visitor通过不同的方法决定它的派生类可以访问的对象类型。

具象访问者类ConcreteVisitor类负责具体实现一组针对访问者类指定的对象的具体操作。每个访问方法往往是某个更大算法的一部分,所以经常会需要使用具象访问者类的数据成员来保存这个算法的信息。由于需求的不同,并不要求每个具象类都必须实现所有的访问方法。

元素类Element作为要素类的基类,首先应该有自己的功能,然后才是为继承层次上的具象要素类定义用来接纳访问者类的accpet方法。也可以定义一个只有accept方法的抽象类,但是个人觉得这多少有些本末倒置的感觉。要素类的类结构还是应该按照其本身的需求进行设计,而不是为了访问者模式这么一个实现层面的便利而改变。

具象要素类ConcreteElement作为访问者的访问对象,负责招待访问者。在它的accept方法中会调用Visitor的对应方法。这个过程可以看作是将具象Visitor类和访问对象放到一起之后,访问对象和Visitor的访问方法之间实现自动匹配。这也可以认为是一种重载,是访问者模式最为神奇的地方。

对象结构ObjectStructure只是一个提法,并不存在这么个类。之所以需要这个角色,个人觉得可以这样理解:对某个数据结构进行的处理总可以看作是数据结构遍历和处理数据的结合。Visitor类只负责处理,那么就需要某个角色来推进遍历动作,而这个角色就是ObjectStructrue。由于在整个遍历、处理的过程中Visitor始终处于被动地位,因此也就不在乎ObjectStructure具体是什么结构了。而这个不在乎正是面向对象中的解耦合。

以上就是"web访问者模式结构是怎样的"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

访问者 结构 方法 对象 具象 数据 模式 不同 知识 篇文章 要素 处理 就是 角色 两个 个人 内容 数据结构 算法 类型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全威胁的来源案例 项立刚谈未来网络技术 西昌市网络安全大队 奥地利网络安全平台 服务器设备安全管理员密码 天下3显示获取服务器列表失败 浪潮服务器管理口不通 网络安全硕士专业代码 绿盟网络安全架构师 日本的低代码软件开发 嘉定区企业软件开发代理商 原神国际服一般用哪个服务器 四川盛邦建设做软件开发 正新软件开发 数据库头像变量是什么意思 数据库专业能在什么地方就职 青海戴尔服务器虚拟化虚拟主机 互联网信息科技对中国的影响 数据库子查询低于平均价格 兰州最好的软件开发公司 netbean怎么连数据库 音乐列表怎么写入数据库 关于宣传网络安全知识的小品 服务器安全狗跳转 游戏服务器多开需要什么配置 网络安全方面班会主题 重庆服务器维修技术云主机 汕头商城软件开发公司 云收单软件开发需要多长时间 无线网络安全性类别
0