清除Java中的API,库,框架和工具包之间的区别列表

Jam*_*ard 0 java terminology

我对以下术语有很多不同的定义,但我不清楚它们之间的区别.有人请澄清以下内容以及每个项目之间的区别吗?

  • API
  • 图书馆
  • 骨架
  • 工具包

我没有看到什么使API与库或框架中的工具包或库中的框架不同.

Fre*_*Foo 6

这些术语的用途差异很大,它们之间有很多重叠,但这是我最常遇到的用途:

  • API是如何与程序中的一个软件进行通信的规范.
  • 库是可以在程序中导入和使用的类的集合.库附带API.
  • 框架就像一个库,但是从内到外:不是将它作为程序中的组件使用,而是编写程序以符合某个接口并将其插入框架中.框架是您构建的内容,而库是您构建的内容.
  • 一个工具箱一套工作程序的程序,如编译器,调试器,编辑器等(但一些图书馆也被称为工具包).

当然,框架通常会带有一个通用操作库,或者被构造为一组库,并且可能包含工具.我认为,工具包是这些术语中最松散的定义.