解释器模式(Interpreter)

来源:互联网 发布:久其软件审计 编辑:程序博客网 时间:2024/05/21 10:59

        解释器模式一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。


        Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:

public interface Expression {public int interpret(Context context);}

public class Plus implements Expression{@Override      public int interpret(Context context) {          return context.getNum1()+context.getNum2();      }}

public class Minus implements Expression{@Override      public int interpret(Context context) {          return context.getNum1()-context.getNum2();      }}

public class Context {private int num1;      private int num2;            public Context(int num1, int num2) {          this.num1 = num1;          this.num2 = num2;      }            public int getNum1() {          return num1;      }      public void setNum1(int num1) {          this.num1 = num1;      }      public int getNum2() {          return num2;      }      public void setNum2(int num2) {          this.num2 = num2;      }}

public class Test {public static void main(String[] args) {            // 计算9+2-8的值          int result = new Minus().interpret((new Context(new Plus()                  .interpret(new Context(9, 2)), 8)));          System.out.println(result);      }}

        基本就这样,解释器模式用来做各种各样的解释器,如正则表达式等的解释器等等!

        参考资料:Java开发中的23种设计模式详解

原创粉丝点击