翻译了二十五章的 Interpreter: Run-Time Flexibility (#422)

This commit is contained in:
john-h3
2020-04-02 14:51:55 +08:00
committed by GitHub
parent cbefc1d39f
commit 4db224983e

View File

@@ -1183,8 +1183,11 @@ public class Facade {
公平起见,*《设计模式》* 主要是写给 C++ 读者的。尽管 C++ 有命名空间namespaces机制来防止全局变量和类名称之间的冲突但它并没有提供类隐藏的机制而在 Java 里我们可以通过声明 non-public 类来实现这一点。我认为,大多数情况下 Java 的 package 功能就足以解决针对 *外观模式* 的问题了。
<!-- Interpreter: Run-Time Flexibility -->
## 解释器
## 解释器:运行时的弹性
如果程序的用户需要更好的运行时弹性,例如创建脚本来增加需要的系统功能,你就能使用解释器设计模式。这个模式下,你可以创建一个语言解释器并将它嵌入你的程序内。
在开发程序的过程中设计自己的语言并为它构建一个解释器是一件让人分心且耗时的事。最好的解决方案就是复用代码使用一个已经构建好并被调试过的解释器。Python 语言可以免费地嵌入营利性的应用中而不需要任何的协议许可、授权费或者是任何的声明。此外,有一个完全使用 Java 字节码实现的 Python 版本(叫做 Jython 能够轻易地合并到 Java 程序中。Python 是一门非常易学习的脚本语言,代码的读写很有逻辑性。它支持函数与对象,有大量的可用库,并且可运行在所有的平台上。你可以在 [www.Python.org](https://www.python.org/) 上下载 Python 并了解更多信息。
<!-- Callbacks -->
## 回调