从流程上网络请求由 C 发出,经过 M 的转换,传给 C ,然后再传递给 V 显示,V 里面放业务逻辑就可以了,独立出来的话,网络请求包含 M,C 引用网络请求,感觉逻辑上 MVC 中 MV 之间没有连接了,所以我想放在 M 里面可以吗?但模型和网络请求就混合在一起了,不知道后期好不好维护?
@issues 必须是model层;controller层要精简,这种接口调用还是放model层比较合适。若是想搞得解(fu)耦(za)一点,可以将model再分割为BLL和DAL,接口调用放在DAL里面。
估计有的放Controller, view, model里的都有,放在view里的我觉的纯粹就是瞎搞,controller还可以忍受, 还有其他的更好的解决方案嘛?
可以把所有的网络请求封装成一个Api模块。
至于Cell里放Model,MVC里好像不推荐这样,不过还是挺多人这么做的。我是把Configure方法是放VC里的。
不过我也是只小菜鸟。
好久之前的问题了,楼主现在有什么好的方法?推荐一下。
之前我都是采用单独设计一个网络访问类,但是还需要单独写一个解析类。这样在VC里就可以直接面向接口编程,易于修改。
但是我看AF给的Demo中却是将网络访问写到Model中,然后就可以将Model和解析合并。不失为一种可以考虑的方法。
作者:张、
网络请求以及对返回数据的处理、装填,最好单独封装一个类出来,不要直接写到控制器里,而是通过block回调控制器。回调里面只写跟界面有关的代码。这样设计为了管理连接、重用、以及封装多个有前序后继关系的请求。网络接口以及数据结构相对界面代码非常稳定,当你的产品反复修改界面时,你会庆幸把这些代码拿出来封装。
至于CELL和MODEL的关系,CELL可以存放MODEL的,但是要MODEL去指导CELL的显示,而不是利用CELL去存储,写CELL的时候要注意,因为重用的关系,CELL保存的任何数据都是不稳定的,CELL的任何状态都要根据MODEL进行变化。
作者:Refuse