代码之家  ›  专栏  ›  技术社区  ›  Laz

API、框架和中间件有什么区别?

  •  21
  • Laz  · 技术社区  · 15 年前

    我脑子里有个问题!API、框架和中间件有什么区别?基本上,它们都为应用程序提供抽象的低级服务。在这种情况下,为什么dot net被称为framework,而windows api被称为well.。应用程序编程接口?

    5 回复  |  直到 14 年前
        1
  •  36
  •   hvgotcodes    15 年前

    API是一个应用程序编程接口。它只是一个术语,指的是程序员将用来与软件接口的方法。例如,DAO可能有一个save()方法。保存是DAO API的一部分。在高层,您可能有一个向系统添加用户的功能。这是系统API的一部分。

    框架是一个或一组工具。例如,Spring是一个框架,用于管理控制反转、依赖注入,并提供漂亮的模板以使您的生活更轻松。通过其API使用Spring。

    中间件是一种软件,它允许一组独立的系统或功能进行交互。所以如果你有一个网站和一个支付系统,你可以使用中间件来连接它们。

        2
  •  13
  •   Nick    14 年前

    美国石油学会 是一个 编程库接口 (或图书馆)。它不会强加给你做任何事情的方式。例如,OpenGL不限制您可以使用它做什么。

    框架 为您提供 部分完成的问题解决方案 . 你填空来做你想要的。这可能会加速您正在做的工作,但您也会受到框架限制,例如设计、性能、功能。--例如,MFC提供了一种创建UI的方法。它很好地支持对话框,但不支持窗体,像停靠这样的东西是有限的,并且包含了错误。Windows窗体是一个功能更强的框架(来自BorlandDelphi的架构师!)这在各个方面都是更好的:设计、灵活性、工具等。框架非常好,直到它们不做您希望它们做的事情,然后您可能会失去大部分时间来尝试解决它们。

    中间件 是一个 垂直切片 . 如果您认为软件是分层的(例如操作系统、硬件抽象、实用程序库等),那么中间件就包含了这些层中的许多层。 垂直地 . 它为应用程序中的某个区域提供完整或部分的解决方案。例如,代理的消息传递系统或呈现库/引擎。中间件不仅提供基本库,还提供日志记录、调试和性能度量等相关工具。使用中间件时必须注意的一件事是 DRY 原理。因为中间件是 垂直的 系统,它可以竞争或复制应用程序的其他部分。

        3
  •  6
  •   Steve Townsend    15 年前

    框架实现API。API将框架客户机与基础框架的实现细节隔离开来。因此(广义地说),您可以使用Mono或.NET框架来运行基于公共源代码的程序,因为这两个框架的API是相同的。

    中间件通常是一个专门用于进程间通信的框架。

        4
  •  3
  •   juancn    15 年前

    API是系统的编程接口。您可以使用它与系统交互,但不会强制程序中的任何结构(理想情况下)。

    框架规定了您编写特定类型应用程序的方式,以减少所需的样板文件数量。它解决了该类型应用中的一些常见问题。

    中间件主要是市场营销。有许多定义,但通常涉及一个大型框架,并在其周围构建一些工具。一些商业游戏引擎可以被认为是中间件,SOA平台也被称为中间件等。

        5
  •  0
  •   Mamunar Rashid    15 年前

    主要区别在于功能的目的。

    API是为解决特定领域中的某些特定问题而设计的,它包含必要的数据结构、类、方法、接口等。 例如ADO.NET API提供了连接Microsoft SQL Server的功能。

    一种框架,旨在帮助开发人员开发可重用的、可扩展的软件应用程序。框架没有API这样的特定功能,而是由API公开的各种功能。 例如,ADO.NET是用于访问数据服务的.NET框架的API。 框架有编译器、程序、类库和运行时。它可以添加插件。

    推荐文章