首页 > 其他 > 详细

无废话设计模式(22)行为型模式--解释器模式

时间:2020-08-07 22:24:10      阅读:111      评论:0      收藏:0      [点我收藏+]

0-前言

  解释器模式定义(Interpreter):

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

1-实现

1-1、简单UML图

技术分享图片

 

 1-2、代码实现

//1、信息包(Context)
 class Context
{
    public String message; //信息
    public String getMessage()
    {
        return message;
    }

    public void setMessage(String message)
    {
        this.message = message;
    }
}

//2-解释器父类
abstract class AbstractExpression
{
    public abstract void Interpret(Context context);
}

//2-1、解释器A
class ExpressionA extends AbstractExpression
{
    @Override
    public void Interpret(Context context)
    {
        System.out.println("原始信息:"+context.getMessage());
        System.out.println("解释器A完成解释---------------");
    }
}
//2-2、解释器B
class ExpressionB extends AbstractExpression
{
    @Override
    public void Interpret(Context context)
    {
        System.out.println("原始信息:"+context.getMessage());
        System.out.println("解释器B完成解释--------------");
    }
}

 

客户端

        Context ct = new Context();
        ct.setMessage("欢迎来到广东");

        AbstractExpression ea = new ExpressionA();
        ea.Interpret(ct);

        AbstractExpression eb = new ExpressionB();
        eb.Interpret(ct);

 

运行结果

技术分享图片

 

 

2-应用场景简单总结

1、如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。

  这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。

无废话设计模式(22)行为型模式--解释器模式

原文:https://www.cnblogs.com/yanghj/p/13455302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!