From 4db224983e0706cb73a57d5c4ddd39cfaaf8c02a Mon Sep 17 00:00:00 2001 From: john-h3 <369425422@qq.com> Date: Thu, 2 Apr 2020 14:51:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=BA=86=E4=BA=8C=E5=8D=81?= =?UTF-8?q?=E4=BA=94=E7=AB=A0=E7=9A=84=20Interpreter:=20Run-Time=20Flexibi?= =?UTF-8?q?lity=20(#422)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/book/25-Patterns.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/book/25-Patterns.md b/docs/book/25-Patterns.md index d8a8bf8..f3d3764 100644 --- a/docs/book/25-Patterns.md +++ b/docs/book/25-Patterns.md @@ -1183,8 +1183,11 @@ public class Facade { 公平起见,*《设计模式》* 主要是写给 C++ 读者的。尽管 C++ 有命名空间(namespaces)机制来防止全局变量和类名称之间的冲突,但它并没有提供类隐藏的机制,而在 Java 里我们可以通过声明 non-public 类来实现这一点。我认为,大多数情况下 Java 的 package 功能就足以解决针对 *外观模式* 的问题了。 -## 解释器 +## 解释器:运行时的弹性 +如果程序的用户需要更好的运行时弹性,例如创建脚本来增加需要的系统功能,你就能使用解释器设计模式。这个模式下,你可以创建一个语言解释器并将它嵌入你的程序内。 + +在开发程序的过程中,设计自己的语言并为它构建一个解释器是一件让人分心且耗时的事。最好的解决方案就是复用代码:使用一个已经构建好并被调试过的解释器。Python 语言可以免费地嵌入营利性的应用中而不需要任何的协议许可、授权费或者是任何的声明。此外,有一个完全使用 Java 字节码实现的 Python 版本(叫做 Jython), 能够轻易地合并到 Java 程序中。Python 是一门非常易学习的脚本语言,代码的读写很有逻辑性。它支持函数与对象,有大量的可用库,并且可运行在所有的平台上。你可以在 [www.Python.org](https://www.python.org/) 上下载 Python 并了解更多信息。 ## 回调