terminology - 框架、工具包、库

标签 terminology

框架、工具包和库之间有什么区别?

最佳答案

最重要的区别,事实上库和框架之间的定义区别是Inversion of Control .

这是什么意思?嗯,这意味着当您调用库时,处于控制之中。但对于框架来说,控制权是相反的:框架会调用你。 (这就是所谓的好莱坞原则:不要调用我们,我们会调用你。)这几乎就是框架的定义。如果它没有控制反转,它就不是一个框架。 (我正在看着你,.NET!)

基本上,所有控制流都已经在框架中,并且只有一堆预定义的白点,您可以用代码填充。

另一方面,库是您可以调用的功能的集合。

我不知道工具包这个术语是否真的有明确的定义。 “套件”这个词似乎暗示了某种模块化,即一组可供您挑选的独立库。那么,是什么让工具包与一堆独立的库不同呢?集成:如果您只有一堆独立的库,则无法保证它们能够很好地协同工作,而工具包中的库被设计为可以很好地协同工作 - 您只是不必使用 all其中。

但这实际上只是我对这个词的解释。与定义良好的库和框​​架不同,我认为工具包没有被广泛接受的定义。

关于terminology - 框架、工具包、库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057526/

相关文章:

java - 术语 "natural ordering"是特定于 Java 的吗?

java - POJO(普通旧 Java 对象)和 DTO(数据传输对象)有什么区别?

node.js - Expresso 中的 -I 或 "unshift a path mean"是什么意思?

node.js - 什么是阻塞函数?

api - 什么是状态空间?

c++ - 尾随数组习语

terminology - Emulate 和 Simulate 和有什么不一样?

database - 数据库表、 View 、函数和存储过程的通用术语是什么?

python抽象基类,mixin和抽象方法的区别

indexing - 索引和分片有什么区别