装饰者与翻译模式

时间:2016-12-29 12:59:47

标签: design-patterns decorator interpreter-pattern

我最近学习了翻译模式。我发现装饰者和翻译者之间有一些相似之处。他们有相似的结构。

我看一下这种情况:一个非终端行为和解释器中的一个终端行为。它似乎与装饰器非常相似。可能存在非终端行为,呼叫相同的非终端行为,然后呼叫终端行为。这似乎非常类似于在objet上将装饰器应用于相同的装饰器。

装饰者是翻译的特例吗?

1 个答案:

答案 0 :(得分:1)

装饰器模式主要用于装饰现有对象并为装饰对象添加其他功能,例如BufferedReader和FilerReader:其中FileReader逐字符地读取数据,BufferedReader逐行读取数据

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

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