设计模式之解释器模式与访问者模式
解释器模式:
简介:
- 是一种不常见的模式。
- 用于描述 如何构成一个简单的解释器,主要用于使用那个面向对象语言开发和设计编译器和解释器设计。
- 尽量不要使用解释器模式,后期维护会很麻烦,在项目中可以使用,jruby,java 的js引擎来代替解释器的作用,弥补java语言的不足。
开发中常见的场景:
- EL表达式的处理。
- 正则表达式的解释器。
- SQL语法的解释器。
- 数学表达式的解释器。
- 如线程的工具包,Math Exception String Parser等。
访问者模式:
模式动机:
- 对于存储在一个集合中的对象,他们可能具有不同的类型,对于该集合当中的对象,可以接收一类对象称为访问者的对象来访问,不同的访问者,访问方式也不同。
定义:
- 表示一个作用于某对象结构的个元素操作,他使我们可以在不改变元素的类的前提下定义作用域这些元素的新操作。
开发中常见的场景:
- XML文档解析器设计,
- 编译器的设计,
- 复杂集合对象的处理。