首页 > 程序开发 > 软件开发 > Java >

设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 解释器模式(Interpreter) - Java实现

2017-06-24

设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 解释器模式(Interpreter)语言解释器,用预先定义的文法解释语言。一般主要应用在编译器的开发中,因此适用面很窄。

设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 解释器模式(Interpreter)
语言解释器,用预先定义的文法解释语言。一般主要应用在编译器的开发中,因此适用面很窄。

一、说明:
1、Context 环境类;
2、IExpression 表达式(接口);
3、Plus 表达式(实现类)。

二、Java实现,代码如下:
1、Context

package com.java.designPattern.interpreter;

/**
 * 环境类
 *
 */
public class Context {

    private Integer left;
    private Integer right;

    public Context(Integer left, Integer right) {
        this.left = left;
        this.right = right;
    }

    public Integer getLeft() {
        return left;
    }

    public void setLeft(Integer left) {
        this.left = left;
    }

    public Integer getRight() {
        return right;
    }

    public void setRight(Integer right) {
        this.right = right;
    }

}

2、IExpression

package com.java.designPattern.interpreter;

/**
 * 表达式
 *
 */
public interface IExpression {

    public Integer interpreter(Context context);

}

3、Plus

package com.java.designPattern.interpreter;

/**
 * 表达式 - 实现类
 *
 */
public class Plus implements IExpression {

    @Override
    public Integer interpreter(Context context) {
        return context.getLeft() + context.getRight();
    }

}

4、Test

package com.java.designPattern.interpreter;

/**
 * 测试类
 *
 */
public class Test {

    public static void main(String[] args) {
        Context context = new Context(1, 2);
        Integer result = new Plus().interpreter(context);
        System.out.println(context.getLeft() + " plus " + context.getRight() + " result is " + result);
    }

}

输出:
1 plus 2 result is 3

相关文章
最新文章
热点推荐