我整天听到的术语是类库、基类库、框架……
什么是框架的亮点,什么是基类库?
发布于 2009-04-07 07:24:35
类库和软件框架的区别在于,在框架中,控制流程不是由用户的代码决定的,而是由框架决定的。
这也被称为好莱坞原则(不要叫我们,我们叫你)。
顺便说一下,关于这个话题也有一个很好的Wikipedia article 。
发布于 2009-04-07 07:18:08
在编写代码时使用类库,但在框架中编写代码。
术语“框架”旨在唤起一种“处于环境中”的感觉。如果我给它做一个(有限的)类比,我会说类库就像能够吃奶酪和喝葡萄酒,而框架就像去法国旅游,体验法国的文化。框架是围绕其构建程序的结构。类库是您使用的工具(可能在框架中)。
当然,框架通常包含类库。例如,.NET拥有包含在整个框架中的大量类库。
发布于 2014-12-10 17:29:34
库:
它只是例程(函数式编程)或类定义(面向对象编程)的集合。背后的原因很简单,就是代码重用,即获取其他开发人员已经编写的代码。类或例程通常定义域特定区域中的特定操作。例如,有一些数学库可以让开发人员只调用函数,而不需要重新实现算法的工作方式。
框架:
在框架中,所有的控制流都已经存在,并且有一堆预定义的白点,我们应该用我们的代码来填充。框架通常更复杂。它定义了一个框架,其中应用程序定义了自己的功能来填充框架。通过这种方式,框架将在适当的时候调用您的代码。好处是,开发人员不需要担心设计是否好,而只需要实现特定于领域的功能。
库、框架和您的代码映像表示:

KeyDifference:
库和框架之间的关键区别是“控制反转”。当您从库中调用一个方法时,您就处于控制之中。但使用框架时,控制是相反的:框架调用您。Source.
关系:
它们都定义了API,供程序员使用。为了把它们放在一起,我们可以把库看作是应用程序的某个功能,把框架看作是应用程序的骨架,把API看作是把它们放在一起的连接器。典型的开发过程通常从一个框架开始,并通过API填充库中定义的函数。
https://stackoverflow.com/questions/724438
复制相似问题