Java設計模式之解釋器模式(Interpreter模式)介紹
Interpreter定義:定義語言的文法,并且建立一個解釋器來解釋該語言中的句子。
Interpreter似乎使用面不是很廣,它描述了一個語言解釋器是如何構(gòu)成的,在實際應用中,我們可能很少去構(gòu)造一個語言的文法。我們還是來簡單的了解一下。
首先要建立一個接口,用來描述共同的操作。
public interface AbstractExpression {
void interpret( Context context );
}
再看看包含解釋器之外的一些全局信息
public interface Context { }
AbstractExpression的具體實現(xiàn)分兩種:終結(jié)符表達式和非終結(jié)符表達式。
public class TerminalExpression implements AbstractExpression {
public void interpret( Context context ) { }
}
對于文法中沒一條規(guī)則,非終結(jié)符表達式都必須的:
public class NonterminalExpression implements AbstractExpression {
private AbstractExpression successor;
public void setSuccessor( AbstractExpression successor ) {
this.successor = successor;
}
public AbstractExpression getSuccessor() {
return successor;
}
public void interpret( Context context ) { }
}
相關(guān)文章
客戶端Socket與服務端ServerSocket串聯(lián)實現(xiàn)網(wǎng)絡通信
這篇文章主要為大家介紹了客戶端Socket與服務端ServerSocket串聯(lián)實現(xiàn)網(wǎng)絡通信的內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03Spring的@Scheduled 如何動態(tài)更新cron表達式
這篇文章主要介紹了Spring的@Scheduled 如何動態(tài)更新cron表達式的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07使用SpringCache操作Redis緩存數(shù)據(jù)的示例代碼
SpringCache是一個框架,實現(xiàn)了基于注解的緩存功能,只需要簡單的加一個注解,就能實現(xiàn)緩存功能,本文給大家介紹了如何使用SpringCache操作Redis緩存數(shù)據(jù),文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-01-01Spring?Boot?整合?Fisco?Bcos的案例分析(區(qū)塊鏈)
本篇文章介紹的?Spring?Boot?整合?Fisco?Bcos的案例,是在阿里云服務器上部署驗證的。大家可根據(jù)自己的電腦環(huán)境,對比該案例進行開發(fā)即可,具體案例代碼跟隨小編一起看看吧2022-01-01