無廢話設計模式(22)行爲型模式--解釋器模式

0-前言

  解釋器模式定義(Interpreter):ide

    給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子;this

1-實現

1-一、簡單UML圖spa

 

 1-二、代碼實現code

//一、信息包(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-一、解釋器A
class ExpressionA extends AbstractExpression
{
    @Override
    public void Interpret(Context context)
    {
        System.out.println("原始信息:"+context.getMessage());
        System.out.println("解釋器A完成解釋---------------");
    }
}
//2-二、解釋器B
class ExpressionB extends AbstractExpression
{
    @Override
    public void Interpret(Context context)
    {
        System.out.println("原始信息:"+context.getMessage());
        System.out.println("解釋器B完成解釋--------------");
    }
}

 

客戶端blog

        Context ct = new Context();
        ct.setMessage("歡迎來到廣東");

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

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

 

運行結果get

 

 

2-應用場景簡單總結

一、若是一種特定類型的問題發生的頻率足夠高,那麼可能就值得將該問題的各個實例表述爲一個簡單語言中的句子。io

  這樣就能夠構建一個解釋器,該解釋器經過解釋這些句子來解決該問題。class

相關文章
相關標籤/搜索