术语“平台”和“框架”指的是什么?

Ami*_*deh 4 c c++ platform operating-system

我以前多次遇到这个问题,并再次看到这些术语,但不知道它们在计算机工程中的真正概念。

平台和框架指的是什么?

我看到很多术语,例如平台无关和开发平台,框架也一样,但我无法安静地理解它们。他们指的是图书馆吗?它们指的是不同类型的操作系统吗?

Jör*_*tag 5

框架这个术语的定义非常明确:框架与库非常相似,只是控制是倒置的。(控制反转是构成框架的定义特征。) IOW:调用库,但框架调用您。

另一种思考方式是,编写一个应用程序,但将所有无趣的细节留空并使用库来填充它们。框架 OTOH一个应用程序。这是一个应用程序,所有有趣的细节都留空供填写。(当然,在你用来填空的代码中你可以自己调用库。而且,框架本身也会调用库来实现它的内部工作原理。而且,框架通常捆绑有一组丰富的库,这些库与框架紧密集成。但是,区别仍然很明显。仅仅因为框架和库一起装在一个包中并不意味着就存在没有区别。)

然而,平台一词的定义并不明确。它也严重超载。在移植本机应用程序的上下文中,它通常指CPU ISA(例如x86,AMD64,IA-64,POWER,MIPS,ARMv9,Sparc),硬件架构(PC,CHRP,PReP,Mac),内核( Linux、NT)和基础库(POSIX、Win32、Core Foundation)。

在更广泛的软件开发环境中,“平台”通常字面意思是“您的代码所在的平台”。对于本机应用程序,这可能与上面基本相同,对于 JVM 应用程序,它可能是 JVM 加 JRE 加 OSGI。

基本上,您可以非常字面地理解这个比喻:平台允许您(即您的代码)比没有它时站在更高的位置。