建议使用Objective C编写更多模块化和可测试的iOS应用程序

时间:2011-04-07 06:02:47

标签: objective-c cocoa cocoa-touch ios

我正在使用Objective C为iOS设备编写应用程序。

似乎编写的代码紧密耦合,重用非常困难。

使用Objective C编写更多模块化iOS应用程序的任何建议?特别容易测试。

3 个答案:

答案 0 :(得分:9)

更多建议,我认为这是objc程序中的常见问题:

  • 支持协议而非超出普通objc开发人员的子类化(非常重要)

  • 支持较小的对象,这些对象更专业

  • 最小化全局对象(例如单身人士)

  • 经常重复使用和测试

  • 实现并拥抱objc类型/运行时的动态特性。不要只是将你最熟悉的语言的惯用语用于objc。很可能,你的节目会受到影响。

  • 代码重用/后端:支持C,C ++,apple的分布式类型和协议

  • 在非平凡的程序中存根包/子库。这些应该独立构建。

  • 注意您正在重新实施的内容,并将常用实现移至库

  • 保持图书馆小,专注,并留意他们的依赖。也期望该库可以在许多上下文中使用。保持警告低,公共接口简单,并使用漂亮冗长的描述性名称和前缀,以避免平面命名空间中的冲突。

答案 1 :(得分:2)

你应该编写面向对象的代码;编写模块化,可重用,可测试对象的所有标准最佳实践在Objective C中的应用与在任何其他语言中一样多。

您是否认为目标C在这方面有所不同?

答案 2 :(得分:2)

以下是一些建议:

  • 尝试将可重用组件作为单独的库子项目。 XCode可以处理项目中的项目。
  • 使用类别来扩展或修改内置类的行为。组件与其余代码隔离,非常容易测试
  • 确保遵循MVC模式并且不要使控制器膨胀。将应用程序逻辑放在模型类中,使它们不依赖于视图,这使得测试变得困难。