.NET Design Patterns (GoF). Interpreter (Интерпретатор)
1 min readJun 3, 2017
Паттерн Интерпретатор (Interpreter) определяет представление грамматики для заданного языка и интерпретатор предложений этого языка. Как правило, данный шаблон проектирования применяется для часто повторяющихся операций.
Например, нам надо разработать программ для вычислений простейших операций сложения и вычитания с помощью переменных: x + y - z
. Для этого можно определить следующую грамматику:
IExpression ::= NumberExpression | Constant | AddExpression | SubtractExpression
AddExpression ::= IExpression + IExpression
SubtractExpression ::= IExpression - IExpression
NumberExpression ::= [A-Z,a-z]+
Constant ::= [1-9]+
Реализация этой грамматики на языке C# будет следующая программа: