设为首页 加入收藏

TOP

设计模式学习笔记(二十三:解释器模式)(三)
2019-09-03 00:56:09 】 浏览:46
Tags:设计模式 学习 笔记 二十三 解释 模式
plements
Node { Node node; public void parse(Context context){ node = new ObjectPronounOrNounNode(); node.parse(context); } public void execute() { node.execute(); } }

 

(4)上下文(Context

上下文(Context)角色是Context类,代码如下:

package com.liuzhen.twenty_three_interpreter;

import java.util.StringTokenizer;

public class Context {
    StringTokenizer tokenizer;
    String token;
    
    public Context(String text){
        setContext(text);
    }
    
    public void setContext(String text){
        tokenizer = new StringTokenizer(text);
    }
    
    String nextToken(){
        if(tokenizer.hasMoreTokens())
            token = tokenizer.nextToken();
        else
            token = "";
        return token;
    }
}

 

5)具体应用

  通过Twenty_threeApplication类来具体实现上述相关类和接口,来实现解释器模式的运用,其代码如下:

package com.liuzhen.twenty_three_interpreter;

public class Twenty_threeApplication {
    
    public static void main(String[] args){
        String text = "He beat tiger";
        Context context = new Context(text);
        Node node = new SentenceNode();
        node.parse(context);
        node.execute();
        text = "You eat apple";
        context.setContext(text);
        System.out.println();
        node.parse(context);
        node.execute();
    }
    
}

 

 

运行结果:

他打老虎
你吃苹果

 

 

参考资料:

      1.Java设计模式/耿祥义,张跃平著.——北京:清华大学出版社,2009.5

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇设计模式学习笔记(二十二:备忘.. 下一篇C# Entity Framework并发处理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目