2011-03-27 94 views

回答

5

这一直是我的理解,你无疑会看到关于这个问题的不同意见:

API(应用编程接口) - 允许您在一个独立的FASION一个已经具有一定功能的应用程序使用的代码。

框架 - 为特定任务/应用程序类型(通常以设计模式的形式)提供基类和接口的代码。 (但不总是)

图书馆 - 相关代码,可用于在组件级完成任务, - 可以进出随意调换一处一流水平的

工具包来完成任务相关的代码。

6

我更喜欢以下:

  1. 的API是如何使用的应用程序的抽象描述。例如,API可能会描述聊天服务器的函数语法(声明)。即login,publish_message,subscribe_messages。并且,它描述了使用该应用程序的任何协议。即在发送或接收消息之前必须登录,或者如果不发送或接收消息,则在2分钟后丢弃客户端。
  2. 库是一个API的实现,它包含实现函数和协议(维护使用状态)的编译代码。
  3. 工具包是一组库(API)和服务组合在一起,为开发人员提供更广泛的可能解决方案。例如,Globus Toolkit提供了开发人员可以在其服务器上安装并启动的服务(如文件传输,作业分段和调度)。他们还提供API来构建可能使用以集成方式部署的服务的应用程序。例如,开发人员可以构建一个使用作业提交API与作业提交服务进行通信的程序。
  4. 框架是一套防止不当使用或发展的指导方针。开发人员必须在框架的规则和边界内构建他们的应用程序。这是通过迫使开发人员扩展当前框架来开发新软件来完成的。通过扩展框架,你强迫对框架的坚持。

我不是说这些是完全正确的,但它迄今为止工作正常!

0

A API(应用程序编程接口)是一个术语,表示库中的函数/方法,您可以调用它来请求它为您执行操作 - 库的接口。

A 工具包就像一个SDK--它是一组工具(通常是代码库),您可以使用它们使访问设备或系统更加轻松。

A 框架是一个大型图书馆,提供许多服务(而不是像大多数图书馆那样只有一个专注的能力)。例如,.NET提供了一个应用程序框架 - 它提供了大部分(如果不是全部的话)你需要编写大量应用程序的服务 - 所以一个“库”为你需要做的几乎所有事情提供支持。通常,框架提供了一个基础,您可以在其上构建自己的代码,而不是构建使用库代码的应用程序。

A 是一段代码,您可以从自己的代码中调用,以帮助您更快速/轻松地完成任务。例如,位图处理库将提供用于加载和操作位图图像的设施,从而使您不必为自己编写所有代码。