MVC 模式是一个非常经典且精简的设计模式,常见的 iOS 项目基本上都采用了这种模式进行开发。 然而,随着项目规模的增长,MVC 模式已经无法很好地帮助我们解耦,构建一个易维护的项目变得愈发艰难。 业务逻辑愈加复杂,导致项目的代码量剧增是最直接的原因。某个 View Controller 可能会有几千行代码,这样的项目代码易读性非常差,维护难度也会增大。而且,这也容易导致数据的读写不同步,在较为混乱的代码中维护复杂的数据流,非常容易导致盘根错节的问题。 MVVM 在 MVC 的基础上增加了 ViewModel,实现了与 MVP 相近的效果。 由于 App 开发往往涉及许多导航逻辑的处理,而这些导航逻辑如果与业务逻辑耦合在一起就会难以管理,MVVM-C 也在iOS开发社区中应运而生。 接下来,请和 Ficow 一起结合架构图来分析这两种App设计模式吧~
MVC 模式是一个非常经典且精简的设计模式,常见的 iOS 项目基本上都采用了这种模式进行开发。 然而,随着项目规模的增长,MVC 模式已经无法很好地帮助我们解耦,构建一个易维护的项目变得愈发艰难。 业务逻辑愈加复杂,导致项目的代码量剧增是最直接的原因。某个 View Controller 可能会有几千行代码,这样的项目代码易读性非常差,维护难度也会增大。而且,这也容易导致数据的读写不同步,在较为混乱的代码中维护复杂的数据流,非常容易导致盘根错节的问题。 MVP 在 MVC 的基础上采用了面向接口/协议编程,最终使业务逻辑代码更易测试。如果结合 Clean Architecture,还可以有效地减轻我们的思维负担。 接下来,请和 Ficow 一起结合架构图来分析这两种App设计模式吧~