设计模式之解释器模式

来源:互联网 发布:nginx 502错误 编辑:程序博客网 时间:2024/05/22 17:08

主要适用于编译器开发,一般用的比较少

分为三个部分

1 pojo类

  添加计算的小单元

2 需要被解释的操作单元类,例如plus加,简等类

   他们都是操作,所以需要继承接口

3 测试类test,如此之简单

package com.test;/** * 解释器模式 * @author chaigw * */public class JieshiqiDesignTest {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);      }  }interface Expression {      public int interpret(Context context);  }  class Plus implements Expression {        @Override      public int interpret(Context context) {          return context.getNum1()+context.getNum2();      }  }  class Minus implements Expression {        @Override      public int interpret(Context context) {          return context.getNum1()-context.getNum2();      }  }  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;      }              }  


0 0
原创粉丝点击