Декоратор против интерпретатора

Я недавно выучил образец интерпретатора. Я обнаружил некоторые сходства между декоратором и переводчиком. У них похожая структура.

Я смотрю в этом случае: одно нетерминальное поведение и одно терминальное поведение в интерпретаторе. Кажется, очень похоже на декоратор. Может быть нетерминальное поведение, вызывающее то же нетерминальное поведение и затем вызывающее терминальное поведение. Это выглядит очень похоже на применение декоратора над тем же декоратором над объектом.

Является ли декоратор специальным случаем интерпретатора?

1 ответ

Решение

Шаблон Decorator в первую очередь предназначен для украшения существующего объекта и добавления дополнительных возможностей к декорированному объекту, например, BufferedReader и FilerReader: где FileReader читает данные символ за символом, а BufferedReader читает данные построчно

Шаблон интерпретатора используется для интерпретации языка или выражения.

И то, и другое полностью отличается, поскольку интерпретатор интерпретирует выражение, а декоратор расширяет существующий объект, а не интерпретирует выражение.... обычно после интерпретации может произойти декорирование....

Другие вопросы по тегам