搜索

Visitor使用前提

发布网友 发布时间:3小时前

我来回答

1个回答

热心网友 时间:2小时前

在考虑应用Visitor模式时,关键的前提在于对象群结构的稳定性。在对象集合(Collection)中,如果元素类型(Visitable)极少发生改变,这是使用该模式的理想情况。Visitor模式的核心在于维护一个访问者接口(Visitor)和可访问接口(Visitable),确保可访问对象的改动主要限于增加不同的访问者行为,而不是新的元素类型。


如果对象集合的结构频繁变动,不仅会使Visitor实现变得复杂,可能还需要在Visitable类中添加新的行为。在这种情况下,GOF(设计模式之父)建议直接在对象类中定义操作,而非使用访问者模式,因为它可能会增加不必要的复杂性。


然而,在Java中,Reflect技术的存在为访问者模式拓宽了适用范围。Reflect技术允许我们在运行时动态获取对象类型和方法,这意味着即使对象集合的结构有所变化,通过Reflect技术,访问者模式依然可以适应并实现所需的功能。因此,结合Reflect技术,访问者模式在某些场景下仍然可以作为有效的设计选择。



扩展资料

程序语言中的设计模式——访问者(visitor)模式作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top