Revisión importante en curso … Vuelva más tarde.
El patrón de intérprete se utiliza cuando es necesario interpretar algún contexto. El siguiente ejemplo es una implementación de intérprete muy simple. Interpreta la letra «a» y «b» a «1» y «2».
Diagrama de clase
Tenga en cuenta que: la dependencia también se muestra en el diagrama para hacer que la estructura sea más comprensible.
Código Java
class Context { private String input; private String output; public Context(String input) { this.input = input; this.output = ""; } public String getInput() { return input; } public void setInput(String input) { this.input = input; } public String getOutput() { return output; } public void setOutput(String output) { this.output = output; } } abstract class Expression { public abstract void interpret(Context context); } class AExpression extends Expression { public void interpret(Context context) { System.out.println("a expression"); String input = context.getInput(); context.setInput(input.substring(1)); context.setOutput(context.getOutput()+ "1"); } } class BExpression extends Expression { public void interpret(Context context) { System.out.println("b expression"); String input = context.getInput(); context.setInput(input.substring(1)); context.setOutput(context.getOutput()+ "2"); } } public class TestInterpreter { public static void main(String[] args) { String str = "ab"; Context context = new Context(str); List<Expression> list = new ArrayList<Expression>(); list.add(new AExpression()); list.add(new BExpression()); for(Expression ex : list) { ex.interpret(context); } System.out.println(context.getOutput()); } } |
Patrón de intérprete utilizado en JDK
java.util.Pattern