iOS App 架构演化史探访 启程宣言

iOS App 架构演化史探访 启程宣言

为什麽有这个宣言?

今天看了iPlayground 2019 | 漫谈 iOS 架构:MVC / MVVM / VIPER 与 Redux的影片赫然发现。
看完其他人对架构的看法,因为自己不是很确定自己的理解是不是全面的。知道了架构的演进过程,决定跟着框架的演化史走一轮。

影片连结

学习MVVM的难点

一直想学习 MVVM 跟 data binding,但是学习MVVM会碰壁。不是没有原因的。

Data binding 不是短期就可以马上学会的

事实上 MVVM 的架构不难理解,但是他的关键点在於 Data binding。可以说是没有 Data binding 就不是MVVM。

架构的演化,是 Refactor 的过程

如果对架构 refactor 的过程没有深刻的体会,是很难离解为什麽"架构"会是这个样子。因此如果对於架构的理解不是那麽顺利的话,或许你应该试着先选择比较容易懂的架构学习,再慢慢体会Refactor的过程。

先学 MVP 再学 MVVM

这是我架构的学习路线

graph LR;
MVC --> MVP --> MVVM

MVP MVVM 差在哪里?

其实MVP 与 MVVM 是差异不大的架构,重点在於将不属於 viewController 的事情拆解出来。但是 Rx 或是 binding 学习上有很长一段路要走。所以我采取渐进式的学习,先从 MVP 开始学习,专注於理解拆解的过程。等拆解的过程熟悉了,再专注於Data binding。

总结

程序语言有很多技术都是照样子的,套一句王魏说的话,

「难,在於上青天」。

事实上,程序码可以写得很简单,可以不套用很多的理论。
学习架构的目的是为了理解可以怎麽Refactor。

接下来的每一天,都会分享学习架构的历程。
一起找寻最适合自己的架构吧。


<<:  人生还有更重要的事! 善选CISSP应考策略!

>>:  SQL Server 安全性设定 - 心得分享

[Part 5 ] Vue.js 的精随-元件生命周期 (序)

生命周期 ? Vue.js 实体的一生: 建立 --> 更新 --> 销毁 图取自 A ...

【第19天】训练模型-验证与比较训练成果

摘要 Test资料集验证 1.1 单张图档预测 1.2 多张图档预测 五个模型的准确度对照表 心得 ...

Day 6 基本型别 - part 3

好的,接下来就来介绍剩下的型别~分别是 Union、Aliases、Literal。 Union 型...

【Day23】参数

参数 首先我们先看一个范例 function fn(para){ console.log(para,...

企划实现(3)

企划发想过程 第一步 寻找需求 在一个企划的发想初期最先要做的事是找到市场,当你找到了市场才能继续做...