别把界面、逻辑和数据库全塞进视图控制器里
这门课要解决的核心问题,就是很多初学者在写 iOS 应用时容易犯的“大杂烩”毛病:网络请求、数据库读写、界面刷新、业务判断全塞在一个控制器文件里。随着代码量增加,改一个功能往往牵一发而动全身,根本没法维护。课程从企业级系统的低耦合原则切入,带你把 iOS 项目拆分成表现层、业务逻辑层和数据持久层。它不是教你写花哨的界面动画,而是教你如何让代码职责分明,后续无论是替换底层网络库,还是更换本地数据库方案,都不会伤筋动骨。如果你目前写代码还停留在“能跑就行”的阶段,这门课正好帮你补上工程化架构的缺口。
先理解分层思想,再跟着实例敲代码
这门课适合已经掌握 Swift 基础语法、能独立写出简单列表页的开发者。如果你连基本的表视图和数组操作都不熟练,建议先去补 Swift 基础再来看。建议先看低耦合架构设计原则那几节,理解为什么要分层、层与层之间如何通过接口而非具体实现来通信。接着直接进入基于同一工程的实例拆解,重点看纯 Swift 语言实现的部分。课程围绕一个笔记应用展开,从数据持久层的 SQLite 封装,到业务逻辑层的数据处理,再到表现层的视图展示,一层一层往上搭。不要跳着看,分层架构最讲究的就是依赖关系,顺序乱了很容易在层间调用时产生循环引用。配套的直播答疑片段也建议看一遍,里面通常有初学者在实操时踩过的坑,能帮你提前避雷。
学完能独立重构旧项目,资料配合练习建议
看完这套视频,你应该能独立把一个原本几百行代码全堆在控制器里的烂项目,重构成分层架构。具体表现为:能自己画出项目的架构层次图,知道每个类该放在哪一层;能定义清晰的层间接口协议,让上层不直接依赖下层的具体实现;遇到需求变更时,能快速定位到该改哪一层,而不是满屏幕全局搜索。练习时,不要光看视频里的笔记应用演示,一定要把资料包里的配套代码下载下来,自己在工程里照着重敲一遍。先跑通数据持久层,测试数据库读写是否正常;再补业务逻辑层,验证数据流转;最后接上表现层界面。如果时间允许,尝试把课程里的本地存储换成另一种持久化方案,看看业务逻辑层和表现层是否需要大改。如果没有,说明你真的把分层架构学进去了。别看完就扔,自己动手重构一遍,才算把知识变成自己的。
课程目录
1-1 [9.1低耦合企业级系统架构设计] 9.1低耦合企业级系统架构设计 (18:11) 1-2 [9.1低耦合企业级系统架构设计] 20150430第十三期直播答疑 (01:10:07) 2-1 [9.2 iOS分层架构设计] 9.2 iOS分层架构设计 (17:04) 3-1 [9.3 基于同一工程的iOS分层架构设计] 9.3.1 MyNotes应用实例 (10:37) 3-2 [9.3 基于同一工程的iOS分层架构设计] 9.3.2 纯Swift语言实现(讲解) (14:30) 3-3 [9.3 基于同一工程的iOS分层架构设计] 9.3.2 纯Swift语言实现(数据持久层实现) (19:42) 3-4 [9.3 基于同一工程的iOS分层架构设计] 9.3.2 纯Swift语言实现(业务逻辑层实现) (07:29) 3-5 [9.3 基于同一工程的iOS分层架构设计] 9.3.2 纯Swift语言实现(表示层实现) (22:06) 3-6 [9.3 基于同一工程的iOS分层架构设计] 9.3.2 纯Swift语言实现(表示层实现删除功能) (04:20) 3-7 [9.3 基于同一工程的iOS分层架构设计] 9.3.2 纯Swift语言实现(表示层实现查看详细功能) (03:26) 3-8 [9.3 基于同一工程的iOS分层架构设计] 9.3.3 Swift与Objective-C混合搭配实现-1 (05:49) 3-9 [9.3 基于同一工程的iOS分层架构设计] 9.3.3 Swift与Objective-C混合搭配实现-2 (06:27) 4-1 [9.4 静态链接库实现的同一个工作空间不同工程的分层] 9.4.1 静态链接库 (10:00) 4-2 [9.4 静态链接库实现的同一个工作空间不同工程的分层] 9.4.2 使用工作空间 (07:24) 4-3 [9.4 静态链接库实现的同一个工作空间不同工程的分层] 9.4.3 添加数据持久层工程 (03:17) 4-4 [9.4 静态链接库实现的同一个工作空间不同工程的分层] 9.4.4 业务逻辑层与数据持久层依赖关系建立 (13:01) 4-5 [9.4 静态链接库实现的同一个工作空间不同工程的分层] 9.4.5 表示层与业务逻辑层依赖关系建立 (09:36) 5-1 [9.5 自定义框架实现的同一个工作空间不同工程的分层] 9.5.1 创建框架工程 (09:12) 5-2 [9.5 自定义框架实现的同一个工作空间不同工程的分层] 9.5.2 依赖关系建立 (04:59) 5-3 [9.5 自定义框架实现的同一个工作空间不同工程的分层] 9.5.3 代码重构-1 (04:03) 5-4 [9.5 自定义框架实现的同一个工作空间不同工程的分层] 9.5.3 代码重构-2 (07:47)





