zoukankan      html  css  js  c++  java
  • 解释器模式——HeadFirst设计模式学习笔记

    解释器模式:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子

    特点:

    • 每一种语法设置为一个类,便于实现
    • 便于扩展语言的语法
    • 与处理重复发生的交叉问题或解析一种语言

    缺点:

    • 解释器模式会引起类膨胀
    • 效率不高
    • 解释器模式采用递归调用方法

    举例:

     1 //解释器接口
     2 public interface Expression {
     3    public boolean interpret(String context);
     4 }
     5 
     6 //实现Or解释器
     7 public class OrExpression implements Expression {
     8      
     9    private Expression expr1 = null;
    10    private Expression expr2 = null;
    11 
    12    public OrExpression(Expression expr1, Expression expr2) { 
    13       this.expr1 = expr1;
    14       this.expr2 = expr2;
    15    }
    16 
    17    @Override
    18    public boolean interpret(String context) {        
    19       return expr1.interpret(context) || expr2.interpret(context);
    20    }
    21 }
  • 相关阅读:
    hdu 5116 计数
    hdu 5117 数学公式展开 + dp
    hdu 5115 Dire Wolf 区间dp
    I00025 寻找循环数
    外部设备发展趋势
    外部设备发展趋势
    互联网
    互联网
    I00024 出钱买羽
    I00024 出钱买羽
  • 原文地址:https://www.cnblogs.com/HectorHou/p/6034442.html
Copyright © 2011-2022 走看看