text 观察者模式(Visitor Pattern)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text 观察者模式(Visitor Pattern)相关的知识,希望对你有一定的参考价值。

参考链接: github java-design-patterns仓库.
参考链接: http://www.runoob.com/design-pattern/visitor-pattern.html

适用场合
========

访问复杂且稳定的结构. 将对其的多变操作统一抽离成visit方法. 无需"污染"结构.

\!h 实际上是实现了数据结构和数据操作的分离

不适用场合
==========

内部结构经常变化的Object. 当内部结构变化时, 会导致其上的Visitor都需要做出修改, 代价较大.

解决的问题
==========

稳定的数据结构和易变的操作耦合的问题.

实现方法
========

通过在被访问的类中提供一个接待访问者的接口(accept), 传入访问者, 然后调用访问者的visit方法, 并传入被访问者(this), 以根据this被访问者的类型, 调用适当的visit重载方法.

常见实现方案
============

- 继承方式实现(见java-design-patterns)
- 组合方式实现(见开头链接)

以上是关于text 观察者模式(Visitor Pattern)的主要内容,如果未能解决你的问题,请参考以下文章

text visitor.csv

设计模式之二十四:訪问者模式(Visitor)

24访问者模式Visitor

Java设计模式 Visitor(訪问者)模式及多分派场景应用

OSG:先导篇 访问器机制

设计模式入门之訪问者模式Visitor