設計模式之Interpreter 直譯器

2021-03-31 08:56:32 字數 615 閱讀 6164

interpreter直譯器模式定義:

定義語言的文法 ,並且建立乙個直譯器來解釋該語言中的句子.

interpreter似乎使用面不是很廣,它描述了乙個語言直譯器是如何構成的,在實際應用中,我們可能很少去構造乙個語言的文法.我們還是來簡單的了解一下:

首先要建立乙個介面,用來描述共同的操作.

public inte***ce abstractexpression

再看看包含直譯器之外的一些全域性資訊

public inte***ce context

abstractexpression的具體實現分兩種:終結符表示式和非終結符表示式:

public class terminalexpression implements abstractexpression

} 對於文法中沒一條規則,非終結符表示式都必須的:

public class nonterminalexpression implements abstractexpression

public abstractexpression getsuccessor()

public void interpret( context context )

}

設計模式之直譯器模式(Interpreter)

直譯器模式是我們暫時的最後一講,一般主要應用在oop開發中的編譯器的開發中,所以適用面比較窄。context類是乙個上下文環境類,plus和minus分別是用來計算的實現,如下 public inte ce expression public class plus implements expres...

設計模式之禪之設計模式 門面模式

1 package com.yeepay.sxf.template18 2 3 寫信的業務類 4 隱藏在門面角色裡邊,不需要暴露太多5 author sxf6 7 8public inte ce iletterprocess view code 寫信的業務類的實現 1 package com.yee...

設計模式之禪之設計模式 橋梁模式

1 package com.yeepay.sxf.template24 2 3 實現化角色 4 相當於不同的業務邏輯,抽象出共有行為5 6 產品類7 author sxf8 9 10 public abstract class product view code 房子產品實現 1 package c...