如何在 iOS 中使用设计模式对 app 进行架构

本书通过使用五种不同的设计模式,完整实现一个 app,并藉此讨论各种 app 架构的实现和优劣。

我们在书中避免枯燥抽象的理论说明,而是着眼于各个架构实际使用时的特点:我们针对架构是如何构建 app 的各个部件的,视图和模型之间的交互到底应当如何进行,怎样优雅地处理非模型状态等话题进行了思考和回答。

本书内容

  • 为什么需要架构

    理解所有模式想要解决的一般性问题

  • 常见设计模式

    MVC 和 MVVM 等常见设计模式到底是什么

  • 实验中的模式

    学习还处于实验阶段的架构模式,比如视图状态驱动的 MVC,以及 Elm 架构等

  • 网络

    网络请求如何与常见设计模式协同工作

  • 实现技术

    每种模式在代码层级是如何实现的

  • 深层对比

    理解每种模式的共通之处,不同点以及彼此的取舍

  • 适用任意代码

    每种架构都可以运用到任意代码库中使其获得改善

  • 常见重构

    共享代码的重构技术,处理大尺寸视图控制器

  • 完整实现

    使用五种不同架构完整实现示例 app

视频内容

  1. 简介 10min

    配套视频的总览

  2. 一个 app,八种架构 1h17min

    现场编程使用八种不同的设计模式完成一个简单的 app

  3. 构建迷你播放器 - MVC 47min

    展示如何在普通 MVC 上添加迷你播放器

  4. 构建迷你播放器 - MVVM-C 50min

    视图模型,协调器和 RxSwift 协同工作

  5. 构建迷你播放器 - MVC+VS 57min

    在视图状态通讯上应用观察者模式

  6. 构建迷你播放器 - MAVB 47min

    绑定,模型适配器与视图绑定器

  7. 构建迷你播放器 - TEA 28min

    使用 reducer 和声明式的视图层

  8. 构建迷你播放器 - MVC 重构 46min

    通过重构播放器 API 来改善 MVC 代码

  9. Elm 架构框架 1h6min

    Elm 架构框架


关于作者

  • Chris Eidhof

    Chris 是 objc.io 的创始人之一,并且主持 Swift Talk 这一教学视频节目。同时,他也是《函数式 Swift》和 《Swift 进阶》的作者。

  • Matt Gallagher

    Matt 作为软件开发者和顾问生活在澳大利亚墨尔本,他为自己的媒体串流技术公司 Zqueue 工作。

  • Florian Kugler

    Florian 是 objc.io 的创始人之一。他创造了 Deckset 应用,他也是《函数式 Swift》和《Core Data》的作者,同时主持 Swift Talk 视频系列。

关于译者

  • 王巍

    ObjC 中国的创始人之一,objc.io 书籍翻译工作组织者。使用 onevcat 作为 ID 活跃在中国 iOS 开发界,Swift 使用者。

  • 茆子君

    iOS 开发者,受到 iPhone 4 吸引,从后端转向 iOS 开发。对算法,数据结构一直保持着兴趣,对 Swift 和 iOS 的动画充满了热情。一直追求写出更漂亮的代码。

  • 李杰

    iOS Dev,Swift 使用者,有点代码洁癖,喜欢追求最佳实践,目前在新加坡求学 & 从事 iOS 开发。


常见问题

  • 这本书包含什么内容?

    您可以获取本书的 PDF,mobi 和 epub 格式的图书。同时,您还可以选择同时购买配套视频,我们提供总时长接近 8 小时的,附带中文字幕的 720p 和 1080p 两种清晰度的视频下载。

  • 视频和图书可以单独购买吗?

    您可以单独购买书籍,或者购买书籍和视频的套装。如果您购买了书籍,之后可以追加购买视频。但是您不能在没有购买书籍的情况下单独购买视频。

  • 这本书是针对 Swift 4 的吗?

    是的,这本书中的示例代码都遵守 Swift 4 的语法和特性。

  • 这本书是 objc.io 的英文书,为什么会有中文版本?

    我们是 “ObjC 中国” 组织,我们与 objc.io 展开了深度合作,并获得了 objc.io 的授权,在中国拥有这系列图书的独占翻译和销售权。

  • 中文版和英文版有什么不同?会保持同步吗?

    中文版和英文原版内容是一致的。书中偶有难以理解或国内鲜见的语汇,对此我们通过译注的形式进行了进一步的解释,以帮助读者理解。本书将继续更新并和英文版保持同步,但是在中英文版更新之间会有一定时间差。

  • 翻译书籍一般都很烂,这本书的质量可以信任吗?

    “ObjC 中国”致力于最优秀的翻译作品,我们希望能将先进的 Swift 开发技术以更易懂的方式介绍给中文社区的开发者们。本书由国内有深厚英文背景的一线开发者花费大量时间和精力翻译,由 onevcat 逐句进行审核。我们保证,本书一定会是一本由开发者书写,经开发者翻译,最终提供给开发者阅读的优秀图书。

  • 这本书有纸质书吗?

    本书暂时没有纸质版本,且电子书版本仅在 ObjC 中国进行销售。

  • 我能在什么设备上阅读本书?

    我们提供排版精美且 DRM free 的 PDF、mobi 和 epub 格式图书,这意味着您可以在任意带有 PDF 阅读器的桌面或移动平台、iBooks 以及 Kindle 等绝大部分常见阅读设备上进行阅读。如果您购买了视频,您还需要一台可以播放 mp4 的电子设备。

  • 付款方式是怎样,我能获得后续更新吗?

    您可以通过信用卡或者支付宝进行付款,在购买时请确认您填写了正确的邮箱地址,您将可以通过邮箱地址和账号在本站下载书籍的后续更新。

  • 为什么支付宝付款时价格和网站表示稍有不同?

    我们的结算服务不能直接收取人民币,因此最终价格是经过订单生成时的汇率换算后的价格,可能会与原价有些许不同。

  • 我成功购买了,但是下载失败或者下载没有开始?

    如果在订单完成后连接中断或者速度很慢的话,请检查或者更换您的网络设置后使用购买时的邮箱登录再进行下载。如果依然存在问题,请联系我们。

  • 除了本书,还有其他推荐的图书吗?

    请您关注本站的书籍页面以获取更多信息。

  • 我还有其他问题。

    欢迎使用邮件联系我们,我们随时准备好为您提供服务。