【发布时间】:2011-10-01 07:25:43
【问题描述】:
这就是我要找的东西:
我想将功能片段分成某种模块或组件,以限制其他类的可见性,以防止每个类都可以访问其他所有类,随着时间的推移,这会导致意大利面条式代码.
例如,在 Java 和 Eclipse 中,我会使用包并将每个包放入具有明确定义的依赖结构的单独项目中。
我考虑过的事情:
- 对源文件使用单独的文件夹并在 Xcode 中使用组:
- 优点:操作简单,几乎不需要 Xcode 配置
- 缺点:没有编译时功能分离,即访问所有内容只需一个
#import语句即可
-
使用框架:
- 优点:框架代码无法访问框架外的访问类。这会强制封装并使事物分开
- 缺点:如果您同时在多个框架上工作,代码管理会很麻烦。每个框架都是一个带有单独窗口的单独 Xcode 项目
-
使用插件:
- 优点:与框架类似,插件代码无法访问其他插件的代码。在编译时进行干净的分离。插件源可以是同一个 Xcode 项目的一部分。
- 缺点:不确定。这可能是要走的路...
根据您的经验,您会选择什么来保持独立,同时能够编辑同一项目中的所有源?
编辑:
- 我的目标是 Mac OS X
- 我真的在寻找一种在编译时强制分离的解决方案
- 插件是指 Cocoa 包 (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingCode/Concepts/Plugins.html)
【问题讨论】:
-
插件的主要缺点:它们在 iOS 下无效。希望您的目标是 OS X。在 Xcode 4 下,在同一个窗口中管理多个目标和项目(包括框架)非常简单,您只需转到文件 > 新工作区。
标签: objective-c xcode cocoa modularity