0

我最近学习了解释器模式。我发现装饰器和解释器之间有一些相似之处。它们具有相似的结构。

我在这种情况下看:解释器中的一种非终端行为和一种终端行为。它看起来与装饰器非常相似。可能有非终端行为调用相同的非终端行为,然后调用终端行为。这似乎非常类似于将装饰器应用于对象上的相同装饰器。

装饰器是解释器的特殊情况吗?

4

1 回答 1

1

装饰器模式主要是对现有对象进行装饰,并为被装饰的对象添加附加功能,例如 BufferedReader 和 FilerReader:其中 FileReader 逐字符读取数据,而 BufferedReader 逐行读取数据

解释器模式用于解释语言或表达式。

两者是完全不同的,因为解释器是在解释一个表达式,而装饰器是在增强一个现有的对象,而不是在解释一个表达式......通常在解释之后,装饰可能会发生......

于 2016-12-29T13:21:54.157 回答