iOS 架构小谈

写了这么多年的 iOS,觉得最佳架构其实就是 MVC,其它什么 MVP、MVVM、VIPER 什么的都是扯淡的,我曾经写过两年多 MVVM,最后感觉就是把简单事情搞复杂了。

MVC 结构的代码,可读性和可维护性远超其它架构。
MVC 架构的学习成本远低于其它架构,新人都能直接上手。

为啥还有很多人说 MVC 不好,转而去搞其它架构,那是因为他们根本没把 MVC 写好。

写好 MVC 的第一原则:界面逻辑和业务逻辑分离
写好 MVC 的第二原则:类的设计严格遵守单一职责原则
写好 MVC 的第三原则:该复用的地方就要复用

对于界面逻辑和业务逻辑分离,只要把业务逻辑都写在 MVC 的 M 里,界面逻辑都写在 V 和 C 中。

一个我觉得最完美的 iOS 项目分层方法:
主工程:分模块写界面逻辑、资源文件(MVC 中的 V 和 C)
工程二:分模块写业务逻辑(MVC 中的 M)
工程三:网络和协议层
工程四:基础层
这四个工程有从上到下的依赖关系,所有工程可以在一个 Workspace 中,工程二到四通过 CocoaPods 来引入。