库与框架

软件开发中经常会有人混淆库与框架的含义,下面简单介绍之:

(library)是一个工具集,它不告诉你应该怎么做事,它只告诉你它能干什么事,具体干什么事,取决于使用者,比如,jQuery、Servlet 等是一个个的库。

库的优点是自由度高,可定制性强,较适用于小项目。

框架(framework)制定了一系列的规则,限定了你的行动,你必须遵循它制定的规则行事,但它却可以极大方便你的开发,比如,AngularSpring 等是一个个的框架。

框架的优点是流程性高,便于开发,较适用于大项目。

通常,我们把库也称为类库(class library),这也从另一个方面反映了库中包含的主要是,类似的,框架中也主要包含类,据此,我们可以把程序员分为类创建者客户端程序员,客户端程序员通过调用其类来使用库或框架。