说明:定义一些语法规则,然后定义一个解析器去解析该语法。(正则匹配)
需求:编写音乐解释器
解决方式:
a. 定义一个上下文类;
b. 定义表达式抽象类,定义解释方法;
c. 分别定义表达式具体类、表达式具体类2,实现各自的解释方法;
d. 定义一个客户端,实例化上下文、通过上下文内容判断实例化表达式具体类、表达式具体类2,执行其解释方法。
需求变更:新增一个音符解释器
解决方式:
新增一个表达式具体类3
类图:
说明:定义一些语法规则,然后定义一个解析器去解析该语法。(正则匹配)
需求:编写音乐解释器
解决方式:
a. 定义一个上下文类;
b. 定义表达式抽象类,定义解释方法;
c. 分别定义表达式具体类、表达式具体类2,实现各自的解释方法;
d. 定义一个客户端,实例化上下文、通过上下文内容判断实例化表达式具体类、表达式具体类2,执行其解释方法。
需求变更:新增一个音符解释器
解决方式:
新增一个表达式具体类3
类图: