本文主要记录在学习 Coordinator Pattern 是的心得。
前言
最近工作中需要对一个升级 B 端的项目,本来只是更新 UI,对 H5 进行支持的简单工作,但是我灵机一动(用大脑一抽可能更好一点),决定对项目进行一次重构,目标 MVVM-C。对于 MVVM 可能大家了解的比较多,但是后边那个小 C 是什么可能有些小朋友并不是特别清楚。这种时候,从小就开始训练的阅读理解能力就派上用场了,看一眼文章题目你就知道这个 C 代表什么了。什么? CyberHex?虽然我很开心,但是我替你们的语文老师伤心三秒,1,2,3,好了。其他人应该都猜对了,对!就是 Coordinator。那到底什么 Coordinator 的设计模式?它是怎么产生的?它解决了什么痛点?接下来我就带大家走进 Coordinator 的内心,从而对它有一个更深的了解。
背景
从文章题目“都是 Apple 惹的祸”你可能已经看到了一些问题的端倪,没错,Coordinator Pattern 的出现就是为了弥补苹果在设计 UIKit 的时候的一些疏忽(不知道是有意还是无意的)。多年前一个风雨交加,电闪雷鸣的夜晚,UIKit 带着全村人的希望诞生了,谁都不知道它的出现将改变移动端的整个未来,更没有人想到的是,在风光无限的背后,是一个致命的(?)生理缺陷,而这个缺陷也将为它带来巨大的危机。而就是到了那时,一个叫 Coordinator 的盖世英雄将踩着七色云彩来解救它。好了,不瞎扯了,我觉得我的水平不去 UC 当编辑真的是屈才了。 其实在很早的时候就有人发现了 UIKit 的这个缺陷并试图去解决它,最早有 Soroush Khanlou 的尝试,到现在 Coordinator 已经是一个比较成熟的 iOS 设计模式了,并且和 MVVM 经常同框出镜,人们称这对好基友组合为 MVVM-C。现在就要有人说了,卖了这么多关子,到底它解决了哪些问题。别着急,接下来胡扯环节结束,上干货。