探索 MVVM 架构:以 Tweetie 项目为例
1. 引言
MVVM(Model-View-ViewModel)架构为视图控制器的视觉测试带来了极大便利,通过创建模拟视图模型并测试预期的视图控制器状态,可显著提升测试效率。同时,它与传统的 MVC 架构有很大不同,能启发开发者探索更多软件架构模式。接下来,我们将通过 Tweetie 项目深入体验 MVVM 架构的魅力。
2. Tweetie 项目概述
Tweetie 是一个多平台项目,是基于 Twitter 的简单应用,使用预定义的用户列表来显示推文。默认情况下,项目使用包含所有作者和编辑的 Twitter 列表,你也可以轻松更改列表,将项目转变为体育、写作或电影相关的应用。此外,若你不是注册的 Twitter 开发者,无法访问其 API,该应用可完全使用 Xcode 项目中捆绑的缓存 API 数据运行。
项目具有 macOS 和 iOS 目标,运用 MVVM 模式解决了许多实际编程任务。启动项目中已包含大量代码,我们将重点关注与 MVVM 相关的部分。MVVM 架构能清晰区分以下两类代码:
- 平台特定的 UI 代码 :例如使用 UIKit 的 iOS 视图控制器和使用 AppKit 的 macOS 专用视图控制器。
- 可直接复用的代码 :不依赖特定平台 UI 框架的代码,如模型和视图模型。
3. 项目结构
在开始编写代码之前,我们先了解一下 Tweetie 项目的结构。在项目导航器中,你会发现以下文件夹:
| 文件夹名称 | 说明 |
|
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



