定义:当封装类似功能的原则不是很重要时,可以通过访问者模式遍历组合对象,增加新功能
使用场景:当封装类似功能的原则不是很重要,并且需要给某个组合对象增加新功能时
类图:
代码样例:
优点:1)在不改变组合对象结构的情况下,轻松地给组合对象增加新功能 2)新增的功能集中在访问者对象中
缺点:1)组合对象的功能并没有完全封装在自身当中 2)由于采用了遍历功能,改变组合对象的结果变得越来越麻烦
类似的设计模式:
配套的内功心法:1)
定义:当封装类似功能的原则不是很重要时,可以通过访问者模式遍历组合对象,增加新功能
使用场景:当封装类似功能的原则不是很重要,并且需要给某个组合对象增加新功能时
类图:
代码样例:
优点:1)在不改变组合对象结构的情况下,轻松地给组合对象增加新功能 2)新增的功能集中在访问者对象中
缺点:1)组合对象的功能并没有完全封装在自身当中 2)由于采用了遍历功能,改变组合对象的结果变得越来越麻烦
类似的设计模式:
配套的内功心法:1)