上一次我们讨论了iOS重构在MVC项目上的可行性,今天具体来讲基于MVC的项目重构步骤以及重构后的结构。
思考要解决的问题
回到项目重构的问题上来,我认为项目重构首先要想清楚的问题:
项目层级如何划分?
大的业务场景有哪些?
将UIViewController归类为View还是Controller?
谁来负责网络请求,Model还是Controller?
从Model中取得数据后Controller怎么把数据传递给View去展示?按照View层级逐级传递?是否需要使用ViewModel?
Model的生命周期怎么控制?(全局Model和私有Model的划分)