Uncategorized
Welche Probleme kann das Interpreter-Designmuster lösen? [3] Das Interpreter-Muster wird häufig in Compilern verwendet, die mit objektorientierten Sprachen implementiert sind. In JavaScript gibt es viele Analysatoren, die dieses Kernkonzept unter der Haube haben. Alle verwenden den abstrakten Syntaxbaum unter der Haube, um die Syntaxanalyse zu verwalten (Babel, EsLint, StyleLint). Das Schema im Interpreter-Mustercode sieht wie folgt aus: Kurz gesagt, das Interpreter-Muster ermöglicht es Ihnen, fast eine Minisprache zu erstellen, um Programmlogik zu implementieren. Zum Beispiel Szenarien wie reguläre Ausdrücke und das Interpretieren mathematischer Ausdrücke, die ich bereits erläutert habe. In Java SE sind java.util.Pattern und Unterklassen von java.text.Format einige Beispiele für das verwendete Interpretermuster. Ich bin mir bewusst, dass viele dieser Muster und es ist schwierig, alle von ihnen zu verstehen, aber kommen Sie zu ihnen manchmal, wie Sie ein Problem zu lösen, die mit einem Muster gelöst werden kann, gibt es wahrscheinlich niemand oder es gibt sehr wenige Menschen, die sich an alle Muster erinnern, während das Interpreter-Muster nicht das Parsing adressiert[1]:247 ein Parser für vollständigkeit vorgesehen ist. Der Zweck der Verwendung des Interpretermusters besteht darin, Benutzereingabeausdrücke zu verarbeiten und einen abstrakten Syntaxbaum zu erstellen, den wir als AST bezeichnen. Diese AST ist eine Instanz des Zusammengesetzten Musters, über das ich vorhin geschrieben habe. Sie benötigen dann einen Parser, um die AST zu analysieren und die Ausgabe zu erzeugen.
Es kann den Anschein haben, dass das Interpretermuster auf Situationen beschränkt ist, in denen es angewendet werden kann. So neigen viele Entwickler dazu, es zu übersehen. Wenn Sie als Entwickler wachsen, werden Sie die Bedeutung dieses Entwurfsmusters erkennen. Betrachten Wir, was die GoF über das Interpreter-Muster gesagt hat: “Wenn eine bestimmte Art von Problem oft genug auftritt, dann könnte es sich lohnen, Instanzen des Problems als Sätze in einer einfachen Sprache auszudrücken. Dann können Sie einen Interpreter erstellen, der das Problem löst, indem Sie diese Sätze interpretieren. Beispielsweise ist die Suche nach Zeichenfolgen, die einem Muster entsprechen, ein häufiges Problem. Reguläre Ausdrücke sind eine Standardsprache zum Angeben von Zeichenfolgenmustern. Anstatt benutzerdefinierte Algorithmen zu erstellen, die jedem Muster mit Zeichenfolgen entsprechen, könnten Suchalgorithmen einen regulären Ausdruck interpretieren, der einen Satz von Zeichenfolgen angibt, die übereinstimmen sollen.”