我多次遇到这个问题,并再次看到这些术语,但并不知道它们在计算机工程中的真正概念。
平台和框架指的是什么?
我看到了许多术语,比如平台独立和开发平台,框架也是如此,但我无法默默地理解它们。它们指的是库吗?它们指的是不同种类的操作系统吗?
发布于 2010-10-11 09:46:45
框架这个术语定义得很好:框架非常类似于库,只是Control是反向的。(控制反转是构成框架的定义特征。)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。
基本上,你可以从字面上理解这个比喻:平台允许你(即你的代码)站在比没有它的情况下更高的地方。
发布于 2010-10-11 05:30:00
Platform是一个无定形的术语,它可以表示:
另一方面,框架通常是工具的集合:这些工具可以是基于软件、硬件、方法/模式的(尽管不一定是任何特定框架中的所有这些),它们组合在一起提供了一种构建应用程序(或应用程序的特定层)的方法。
下面是几个框架的例子:
软件
Hardware/Software
方法/模式(或流程)
发布于 2010-10-11 05:26:03
平台通常意味着与运行软件的环境有关的东西。因此,它通常指的是操作系统(例如windows或Linux),但有时指的是体系结构(x86可能是一个平台,也可能是java虚拟机)。框架通常是函数或类的集合,因此通常与库相同,或者可以粗略地以相同的方式理解。
https://stackoverflow.com/questions/3902264
复制相似问题