4

我正在阅读一本关于 ASP.NET MVC 的书,它指出:

“NVelocity 是 Java Apache Velocity 模板引擎的一个端口,而 NHaml 是 Ruby on Rails Haml 引擎的一个端口”。

在这种情况下,“端口”一词是什么意思?

4

1 回答 1

8

来自Wikipedia 上的移植(软件工程)条目:

在软件工程中,移植是调整软件的过程,以便可以为不同于最初设计的计算环境创建可执行程序[或库](例如[不同的语言,]不同的CPU,操作系统或第三方库)..

..“港口”一词源自拉丁语portare,意思是“携带”。当代码与特定操作系统[或语言]或体系结构不兼容时,必须将代码“携带”[或“移植”]到新系统。

因此,“一个端口”是“移植”的结果,“端口”有很多种

在某些情况下,一个移植可能是“仅在精神上”,大量借鉴了原始实现的思想,但不共享任何代码;库通常会进一步分歧以利用目标语言功能。

另一方面,应用程序端口——尤其是那些被设计为可在不同“UNIX”环境之间移植的端口——可能共享除了构建过程之外的所有内容。

于 2013-02-22T01:39:23.130 回答