8

或者换一种说法:

Mac 和 iOS 框架中的“Kit”、“Toolbox”、“Core”和“Foundation”前缀/后缀命名约定是什么?

通过 Apple 的框架,这些前缀和后缀似乎遵循一种模式,但我在文档中没有找到任何解释确切差异的内容。这是我看到的基本模式:

  • 基础- 低级,C/Objc
  • 核心- 中,C/Objc
  • 工具箱- 一般服务
  • 套件- 高,Objc

还有一些这些名称的混合,我猜这意味着框架是两个抽象级别之间的混合。例如Core FoundationCore Audio Kit

流行的第三方框架是否也非常严格地遵循这些约定?RestKit 非常适合,因为它是高级别的,但 CorePlot 似乎如果不是因为谷歌与同名 javascript 库发生冲突,CoreKit 会更好。

4

1 回答 1

7

我不会将其命名为约定,它与可可体系结构有关。我将尝试使用 iOS 架构来回答,但对于 Mac 来说也是如此。

iOS 在架构上分为 4 个主要层

  • 核心操作系统:基本上不是内核
  • 核心服务:这是FoundationCore Foundation 所在的地方,因此它操纵字符串、集合等。它还操纵 GPS 等硬件功能,在这里你会找到核心运动、核心位置,还有系统配置。该层也称为核心框架层,因为它处理操作系统的基本框架。
  • 媒体:正如您可能猜到的那样,它处理媒体(音频、视频和图形)所以您会发现Core Graphics、Core Animation、Core Audio 等框架,还有OpenGL ES 和AVFoundation
  • Cocoa Touch:在这里您会找到支持应用程序的高级框架,其中一些框架是 UI Kit、Game Kit,还有 Message UI、Address Book UI,甚至是iAdSocial框架等单一名称

每一层都依赖于前一层。那么为什么苹果选择这些名字呢?好吧,通常他们使用核心一词来指代框架的基础(内核),通常这是直接操纵基本操作(在硬件中或从操作系统中)的低级框架。一个明显的例子是 Foundation,它基本上是Core Foundation或 AVFoundation的面向对象的包装器,它依赖于Core AnimationCore AudioCore Media所以你可以看到 Foundation 后缀不是最低级别,它取决于架构。通常你会使用工具箱这个词为访问某些类型的外部文件/设备提供接口或支持管理它们。通常,当您提供一组可以在您的应用程序上开箱即用的工具时,您会使用工具包这个词。

简而言之,命名框架的目的是根据架构的设计来理解它所包含的类。但正如我之前所说,我不会说这是一个“惯例”,它更像是一个“良好实践”。

于 2013-04-19T16:57:17.873 回答