我想将功能分离成模块或组件,以限制其他类的可见性,防止每个类都可以访问所有其他类,这样随着时间的推移会导致代码混乱。
例如,在Java和Eclipse中,我会使用包并将每个包放入单独的项目中,并有明确定义的依赖结构。
我考虑过以下几点:
1.使用单独的文件夹进行源文件分离,并在Xcode中使用组: 优点:简单易行,几乎不需要Xcode配置。 缺点:没有编译时的功能分离,即只需一个 #import 语句就可以访问所有内容。
2.使用框架: 优点:框架代码无法访问框架外部的类。这强制执行封装并使事物保持分离。 缺点:如果同时使用多个框架,则代码管理很麻烦。每个框架都是一个单独的Xcode项目,具有单独的窗口。
3.使用插件: 优点:与框架类似,插件代码无法访问其他插件的代码。编译时干净的分离。插件源可以是同一Xcode项目的一部分。 缺点:不确定。这可能是正确的方法...
根据您的经验,您会选择什么来保持分离并能够在同一项目中编辑所有源代码?
编辑: -我针对的是Mac OS X -我真的正在寻找一个能在编译时强制隔离的解决方案 -插件是指Cocoa捆绑包 (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingCode/Concepts/Plugins.html)