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