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...