Visitor(访问者模式)
访问者
package com.dzeay.pattern.visitor;
public interface Visitor {
void visitorConcreteElementA(ConcreteElementA concreteElementA);
void visitorConcreteElementB(ConcreteElementB concreteElementB);
}
具体访问者
package com.dzeay.pattern.visitor;
public class ConcreteVisitor implements Visitor {
@Override
public void visitorConcreteElementA(ConcreteElementA concreteElementA) {
System.out.println("ConcreteVisitor.visitorConcreteElementA");
}
@Override
public void visitorConcreteElementB(ConcreteElementB concreteElementB) {
System.out.println("ConcreteVisitor.visitorConcreteElementB");
}
}
元素,定义一个accept操作,该操作以一个访问者为参数
package com.dzeay.pattern.visitor;
public interface Element {
void accept(Visitor visitor);
}
具体元素,实现accept操作
package com.dzeay.pattern.visitor;
public class ConcreteElementA implements Element {
@Override
public void accept(Visitor visitor) {
visitor.visitorConcreteElementA(this);
}
}
package com.dzeay.pattern.visitor;
public class ConcreteElementB implements Element {
@Override
public void accept(Visitor visitor) {
visitor.visitorConcreteElementB(this);
}
}
Visitor -- 测试类
package com.dzeay.pattern.visitor;
/**
* <pre>
* Visitor(访问者模式)详解:
* 表示作用于某对象结构中的各元素的操作.它可以使得你在不改变和元素的类的前提下定义作用于这些元素的新操作.
* </pre>
*
* @author <a href="mailto:dzeay.com@gmail.com">dzeay.com</a>
* @since 2011-02-26
* @version 1.0
*/
public class TestClass {
/**
* @param args
*/
public static void main(String[] args) {
Visitor visitor = new ConcreteVisitor();
Element elementA = new ConcreteElementA();
Element elementB = new ConcreteElementB();
elementA.accept(visitor);
elementB.accept(visitor);
}
}
设计模式之Visitor(访问者模式)
分享到:
相关推荐
设计模式C++学习之访问者模式(Visitor)
本文实例讲述了C#设计模式之Visitor访问者模式解决长隆欢乐世界问题。分享给大家供大家参考,具体如下: 一、理论定义 访问者模式 提供了 一组 集合 对象 统一的 访问接口,适合对 一个集合中的对象,进行逻辑操作,...
访问者模式(Visitor) 用意:适用于数据结构相对未定的系统,把数据结构和作用于结构上的操作间的耦合解开。
C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式
C#面向对象设计模式 (行为型模式) Visitor 访问者模式 视频讲座下载
表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
Visitor(访问者模式)属于行为型模式。意图:表示一个作用于某对象结构中的各元素的操作。
C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式.rar 李建忠主讲 上海祝成信息科技有限公司担任软件架构师,并讲授C#/.NET软件开发课程
访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。它表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出,...
设计模式 -访问者(Visitor)模式详解和应用.pdf
面向对象 北工大 课设 使用多种设计模式,实现的求值引擎,包括表达式树的构建
可以看到,要实现操作权转让到 Visitor,核心是元素必须实现一个 Accept 函数,将这个对象抛给 Visitor:从上面代码可以看出这样一条链路:Ele
c++设计模式-行为型模式-访问者模式;qt工程;c++简单源码; 访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新...
主要介绍了iOS应用的设计模式开发中的Visitor访问者模式的实例,示例代码为传统的Objective-C,需要的朋友可以参考下
主要介绍了php设计模式中的访问者模式,使用php实现访问者模式,感兴趣的小伙伴们可以参考一下
讲 师:李建忠 上海祝成信息科技有限公司 高级培训讲师 MSDN特邀讲师 C#面向对象设计模式纵横谈... C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式 C#面向对象设计模式纵横谈(25):设计模式总结
主要介绍了Java设计模式之访问模式(Visitor者模式)介绍,本文讲解了为何使用Visitor模式、如何使用Visitor模式、使用Visitor模式的前提等内容,需要的朋友可以参考下
本电子书一共两个压缩文档,本文件为part2. 《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。...第25章 访问者模式(Visitor) 附录A常见面向对象设计原则 附录BUML简介 参考文献