8

所以我是 iOS 开发的新手,我正在尽我所能学习“最好”的做事方式。(是的,我知道这是一个相对术语)

我来自 C# 和 Java 世界,我们在其中做一些事情,例如通过 IOC 容器注入依赖项,使用存储库模式来抽象数据访问,使用域服务和对象来封装业务数据和行为等。这些都是我在 iOS 开发中还没有看到。(也许我找错地方了)

我意识到,Objective-C 是 C 的超集,是一种动态/松散类型的语言,当涉及到良好的设计实践时,它可能会大大改变游戏规则。任何人都可以向我指出一些书籍/博客/其他的方向,这些书籍/博客/其他可以帮助我从一个强类型、受管理的环境到这个新世界的精神飞跃,同时保持我的设计灵活并遵守 SOLID 原则吗?

编辑 - 我想在这里说清楚。 我不是在问如何学习 Cocoa 框架以及作为一门语言的 Objective-C 的来龙去脉。我在这方面找到了很多资源。我希望将此提升到一个新的水平,开始进行 TDD 并确保我正在构建的项目将易于扩展和维护。

4

3 回答 3

4

学习“最佳”做事方式的最佳方法是尽可能深入地了解 Apple 现有 API 的设计方式。毕竟,不管理论上做某事的最佳方法是什么,最终您的代码都必须使用这些 API,因此在大多数情况下您应该遵循类似的模式是有道理的。

就书籍而言,有一本名​​为 Cocoa Design Patterns 的书涵盖了这个确切的主题,并且根据亚马逊的评论,它似乎很受欢迎。

于 2012-01-31T22:05:40.230 回答
1

我建议您学习cs193p课程并阅读Apple 网站上的Learning Objective-C

我认为这两个链接将为您指明在 iOS 上应该如何工作的正确方向。

于 2012-02-01T07:54:23.007 回答
1

有很多专门针对 Objective-C 和 Cocoa 开发的设计模式,你会在这本书中找到一个很好的总结。它涵盖了语言内置模式以及一些更复杂和高级(如果您愿意,可以是架构)的模式。

一般来说,SOLID 原则适用于动态语言,并且与强类型语言的相关性不亚于它们。另一件事是,在 Objective-C 中,您可以选择在设计中使用强类型,因此几乎所有“经典”OOP 模式都适用,尽管可能有一些框架/语言结构更优雅,更适合这项工作。

于 2012-02-01T14:56:47.750 回答