传统的mvc设计模式,有个最大的弊病是v和c不能做到真正分离。v和c的分离需要一堆的block或者delegate,分离之后,很简单的逻辑还需要看几个跳转才知道。v和c的分离是mvc最好的地方。但是c很多时候太臃肿。
设计,应该从实用出发。v和c可以混合在一起,v留出方便调用的api供c调用。 对m做一层封装,为view model。c持有v,c持有view model,view model持有model,v的部分任务放到view model里,比如请求model的数据,或者对model的数据做封装。
这样,c就是很简洁的持有v和view model,代码清晰。
要是c还是臃肿,逻辑部分可以独立handle类,也可以做c的类别,尽量把c做简单。
可以参考此文:http://objccn.io/issue-13-1/
原文地址:http://blog.csdn.net/jinangzhu/article/details/46427207