这篇文章主要介绍“web访问者模式的动机是什么”,在日常操作中,相信很多人在web访问者模式的动机是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web访问者模式的动机是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
意图
将作用于某个数据结构中的各个元素的操作集合成一个操作类。这样当需要扩展对数据结构中元素的操作时只需扩展操作类而不是修改数据结构中的操作对象类本身。
动机
考虑一个使用组合模式形成的树状数据结构。使用组合模式的一个好处就是可以以透明的方式增加对于整个数据结构中每个要素的操作。实现方式非常简单,就是在组合类Composite中准备一个相同的方法,在这个方法中调用每个子要素的对应方法。
def reset_connections(self, memo): Component.reset_connections(self, memo) for child in self.iter(): child.reset_connections(memo)
这种方式真的很好用,至少在最初使用这种方法增加功能时设计者一定是这样认为的。但是随着使用次数的增多,设计者早晚会发现:每次都是同样的结构,稍微换一下操作的内容就变成了另外一个功能。
这种重复性往好的方向看可以说是使用同样的方式解决了不同的问题,降低了增加新功能的难度,这当然没有错。但是从另一个角度来说,毕竟增加功能时修改了已有的代码。是不是可以在不修改已有代码的情况下,增加新功能呢?
同样的结构就是这个问题的突破口,而访问者模式就是这个问题的解决之策。
到此,关于“web访问者模式的动机是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。