Java中库vs框架

一个Java库和一个框架之间的区别是什么?这两种概念都非常重要但是有时候也令Java开发者感到困惑。

 

1、库和框架的主要不同点以及定义

库和框架之间主要的不同点是“控制反转”。当你调用一个库中的方法时,你在控制。但是用框架时,控制权反转了:框架在调用你的代码。


Java中库vs框架
 库仅仅是一个类定义的集合。背后的原因就是简单的代码复用,即得到那些其他开发者编写的代码。那些类和方法通常在一个域特定区域定义了特定的操作。例如,有一些数学运算的库,它可以让开发者仅仅调用下功能即可,不用重新做一个算法怎么工作的实现。

在框架中,所有的控制流都已经在了,并且有一堆预先定义的你应该用你的代码填充的白点。框架通常来说更加复杂。它定义了一种架构,在其中应用程序定义它自己的功能来填写这个架构。通过这种方式,你的代码就会适当被框架调用。这样的好处是开发者没有必要去担心设计好还是不好,仅仅关心领域特定功能的实现即可。

 

2、两者的关系

它们都定义API,供程序员使用。将两者放到一起看,我们可以认为库是一个应用程序的特定功能,框架作为应用程序的骨架,而API是纽带将两者联系了起来。一个典型的开发流程正常开始于架构,然后通过API填写哪些定义在库中的功能。

 

3、例子

1.怎么样做一个Java库?
2.怎么样设计一个框架?

 

原文地址:here