我最近学习了翻译模式。我发现装饰者和翻译者之间有一些相似之处。他们有相似的结构。
我看一下这种情况:一个非终端行为和解释器中的一个终端行为。它似乎与装饰器非常相似。可能存在非终端行为,呼叫相同的非终端行为,然后呼叫终端行为。这似乎非常类似于在objet上将装饰器应用于相同的装饰器。
装饰者是翻译的特例吗?
答案 0 :(得分:1)
装饰器模式主要用于装饰现有对象并为装饰对象添加其他功能,例如BufferedReader和FilerReader:其中FileReader逐字符地读取数据,BufferedReader逐行读取数据
解释器模式用于解释语言或表达式。
两者完全不同,因为解释器正在解释表达式,而装饰器正在增强现有对象,而不是解释表达式......通常在解释之后装饰就会发生....