(二十)解释器模式-代码实现

Posted Note

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(二十)解释器模式-代码实现相关的知识,希望对你有一定的参考价值。

介绍

概念:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子

应用场景:语言解释器(把我们能看懂的代码转换成了难看懂的机器码)

好处:以简单的方式使用复杂的东西。

 

例子

//解释器

package note.com.interpreter;

/**
 * 解释器
 * @author lxz
 *
 */
public class Interpreter {

    public void say(String lag){
        if("nh".equals(lag)){
            System.out.println("你好");
        }
    }
}

//调用解释器的人

package note.com.interpreter;


public class People {
    
    private Interpreter interpreter;
    
    public People(Interpreter interpreter){
        this.interpreter = interpreter;
    }
    
    /*
     * 简单语言输入
     */
    public void say(String lag){
        interpreter.say(lag);//调用解释器
    }
    public Interpreter getInterpreter() {
        return interpreter;
    }
    public void setInterpreter(Interpreter interpreter) {
        this.interpreter = interpreter;
    }

}

//测试类

package note.com.interpreter;

public class InterpreterTest {
    public static void main(String[] args) {
        Interpreter i = new Interpreter();
        People people = new People(i);
        people.say("nh");
    }
}

//结果

你好

 

以上是关于(二十)解释器模式-代码实现的主要内容,如果未能解决你的问题,请参考以下文章

(二十一)访问者模式-代码实现

行为型:设计模式之解释器模式(二十二)

行为型:设计模式之解释器模式(二十二)

23种设计模式(二十三)——解释器模式邻域问题

23种设计模式(二十三)——解释器模式邻域问题

二十三种设计模式之:工厂方法模式