zoukankan      html  css  js  c++  java
  • 访问者模式(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);
    
        }
    }

    测试结果:

  • 相关阅读:
    判断页面访问端是电脑还是手机?
    Vue使用总结
    JS面向对象,创建,继承
    你不得不知的逻辑或(||)与(&&)非(!)
    前端必备PS技巧
    你真的熟悉background吗?
    JS运动从入门到兴奋1
    过目不忘JS正则表达式
    W3C、MDN及html常用标签介绍
    js数据处理-----数据拷贝
  • 原文地址:https://www.cnblogs.com/13jhzeng/p/5592305.html
Copyright © 2011-2022 走看看