|
楼主 |
发表于 2004-9-3 19:59:04
|
显示全部楼层
“束” 是什么?
束(bundle)是在文件系统中存放可执行代码及与该代码有关软件资源的一种目录。
(束有可能只包含可执行代码或只包含软件资源,但此类情况并不常见)。本质上,束目
录将一组资源“捆绑”在一个离散包中。资源包括诸如图像、声音以及某些软件使用的
本地化字符串。由于在文件系统中代码和相关资源位于同一位置,这样使得进行安装、
卸载以及其它形式的软件管理变得更为方便。
束(bundle)的类型分为三种,分别是应用程序(application)、框架(framework)
以及可加载束(loadable bundle),可加载束中也包括了插件(plug-in)。这些束类
型的内在结构是(或可以是)十分相似的。应用程序、框架以及可加载束的主要区别在
于它们所包含的可执行代码的特性和用途不同。每一个类型都有它自己所需的扩展
名:.app,.framework 或.bundle(或者是应用程序为可加载束定义的任何扩展名)。
在程序中,束(bundle)等同于一些特定的编程实体,如一个类的实例或一个(在过程
语言中)隐含类型的对象。这些实体的一些例程可使需要束资源的程序代码能够访问到
这些资源,而其它的一些例程则使您能将可执行代码加载以及链接入一个运行中的应用
程序。无论什么时候需要可加载束中的代码,应用程序都可以将它们载入。框架可自动
地(并动态地)加载和链接共享库代码。
束(bundle)可包含多个资源组,每一组按语言、地区以及平台对资源进行分组整合。
通过将这些资源组和可执行代码集合成一个单一的包,您就能创建一个可在任何被支持
的平台上正常运行的应用程序、框架或插件的版本。通过使用此模型,您能根据用户的
语言预置参数自动地本地化应用程序的人机界面。
一般地,Finder 将束目录以文件形式显示给用户,以避免束的内容被随意地篡改。但
是一些束的目录结构并不是隐含的,例如框架(framework)。Finder 以文件还是以文
件夹形式显示束取决于若干因素,其中包括在束目录中的束位(一种Finder 属性)是
否被设置。另外,Finder 也隐藏了所有应用程序束的扩展名。 |
|