劍心博客

          Just for java

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            1 隨筆 :: 29 文章 :: 1 評論 :: 0 Trackbacks
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          公告

          專注于Java技術的博客

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案(1)

          文章分類(41)

          文章檔案(29)

          新聞分類

          Myself

          搜索

          最新評論

          設計模式之Interpreter(解釋器)

          板橋里人 http://www.jdon.com 2002/05/05

          模式實戰書籍《Java實用系統開發指南》

          Interpreter解釋器模式定義:
          定義語言的文法 ,并且建立一個解釋器來解釋該語言中的句子.

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

          首先要建立一個接口,用來描述共同的操作.

          public interface AbstractExpression {
             void interpret( Context context );
          }

          再看看包含解釋器之外的一些全局信息

          public interface Context { }

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

          public ? class ?TerminalExpression? implements ?AbstractExpression?{?
            ?
          public ? void ?interpret(?Context?context?)?{?}
          }?

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

          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?)? {?} ?
          }
          ?
          posted on 2006-12-11 19:54 powerwind 閱讀(189) 評論(0)  編輯  收藏 所屬分類: 轉來好帖java設計模式
          主站蜘蛛池模板: 万州区| 萝北县| 平南县| 五常市| 吴江市| 银川市| 麻江县| 萨迦县| 齐齐哈尔市| 阳泉市| 奉节县| 普宁市| 伊通| 仁布县| 通州市| 分宜县| 晴隆县| 三都| 耒阳市| 阿图什市| 扶绥县| 宾川县| 广元市| 万山特区| 沙河市| 五原县| 叶城县| 绥芬河市| 巴林左旗| 桦川县| 朝阳县| 法库县| 余江县| 瓦房店市| 长阳| 泌阳县| 青海省| 修武县| 台中县| 五莲县| 乌兰察布市|