知识卡片
访问者怕新元素
内容
访问者让新增操作变简单,却让新增元素类型变困难,因为每个访问者都要增加对应方法。发散:如果结构类型常变,访问者会把变化成本放大。
参考来源
- 位置:第5章《行为型模式》5.11节「Visitor(访问者)」8.效果第3点(源文件:_epub-src/OEBPS/Text/part0091.xhtml)
- 结论依据:原文明确说明Visitor模式使得难以增加新的Element子类,因为每添加一个新的ConcreteElement都要在Visitor中添加新的抽象操作并在每个ConcreteVisitor中实现,直接支持卡片对访问者让新增操作变简单却让新增元素类型变困难的论述。
- 原始内容:"增加新的ConcreteElement类很困难。Visitor模式使得难以增加新的Element的子类。每添加一个新的ConcreteElement都要在Vistor中添加一个新的抽象操作,并在每一个ConcretVisitor类中实现相应的操作。"