访问者模式(Visitor Pattern)
Posted 没有梦想的小灰灰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问者模式(Visitor Pattern)相关的知识,希望对你有一定的参考价值。
访问者模式:使用一个访问者类,改变元素的行为。通过这种方式,随着访问者的改变,被访问者的行为可以被改变。
类图:
实现Master接口的具体类是行为需要被改变的对象。
实现Visitor接口的具体类是访问者,访问者不同,实现Master接口的具体类的行为不同。
public interface Master { public abstract String getName(); } public class ConcreteMaster implements Master { private String name; public ConcreteMaster(String name) { this.name = name; } public String getName() { return name; } } public interface Visitor { public abstract void visit(Master master); } public class ConcreteVisitor implements Visitor { public void visit(Master master) { //这里的visit方法仅仅是打印出被访问者的name,改变被访问者的行为的操作就是在这里实现的,不同的Visitor的visit方法不同导致 //被访问者的行为也不同 System.out.println("visit the master " + master.getName()); } }
public class Test { public static void main(String[] args) { Master master = new ConcreteMaster("Amy"); Visitor visitor = new ConcreteVisitor(); visitor.visit(master); } }
测试结果:
以上是关于访问者模式(Visitor Pattern)的主要内容,如果未能解决你的问题,请参考以下文章