现在,这可能是一个愚蠢的问题,但有时术语框架和API可以互换使用.我认为它的方式是框架是一个更大的更通用的东西,包含许多API,可用于各种编程任务(例如,.NET Framework.)API更小,更专业(例如, Facebook API.)有人想分享他们对此事的见解吗?
例如,微软称.NET为框架,而Sun称其为平台......因此,如何调用"图书馆集合"也是一个商业/营销决策?
Ste*_*rdi 34
设计模式提供以下定义:
这里的关键是虽然工具包(API)在许多领域都很有用,但框架可以解决特定类问题的问题,可以通过创建框架抽象类的特定于应用程序的子类来定制.
此外,也许更重要的是,"框架决定了应用程序的体系结构":控制反转是框架的特征之一(参见Martin Fowler); 而不是让您的应用程序调用特定的API来实现特定的行为,它是调用您的代码的框架.
Von*_*onC 15
框架确实引入了控制反转的概念
(即整个程序的控制流程不是由调用者决定的,而是由框架决定的)
当您提到语言框架(例如Java Framework或.Net Framework)时,实际上您不仅包括库及其API(如果这些库提供了控制反转,那么它将更受限于软件框架).
语言框架包括将调用代码(编译或执行代码)的开发和执行环境.
这就是.Net Framework是一个"框架"的原因.
Java可以将其框架(JDK,JRE)称为" Java平台 ",以强调其"平台无关"编程语言功能.
平台是程序运行的硬件或软件环境.(包括Microsoft Windows,Linux,Solaris OS和Mac OS).
大多数平台可以描述为操作系统和底层硬件的组合.
Java平台与大多数其他平台的不同之处在于,它是一个纯软件平台,可以在其他基于硬件的平台上运行.Java平台有两个组件:
- Java虚拟机
- Java应用程序编程接口(API)

小智 5
软件框架:是软件系统(或子系统)的可重用设计.软件框架可以包括程序,代码库,脚本语言,以帮助开发和粘合软件项目的不同组件的其他软件.框架的各个部分可以通过API公开.
| 归档时间: |
|
| 查看次数: |
39073 次 |
| 最近记录: |