M 指的是Model,数据模型,它可以是一个系统自身的类型,比如字符串,数组等,也可以是一个自定义的类型....ViewModel中的代码会很多,但是ViewModel的可复用性和灵活性要远远大于ViewController.更具体点说,以前的一个控制器里面的代码,现在可能会被拆分到1个甚至多个ViewModel...中,而且你的ViewModel不仅这个控制器可以用,其他的控制器也可以用.虽然从单个控制器的逻辑代码量来看,优化不是很显著,但是ViewModel的模块化特性,将在涉及到页面复用以及后期维护时,让人感觉心旷神怡...,也可以避免一些基础错误,如:自定义的类,如果属性不匹配会编译失败,但是如果使用字典类型,key不匹配时,是不会有任何提示的(用过字典的童鞋,都懂我意思的吧).所以我们此处要:
新增Model: YFCategoryArticleListModel...,代码之间的耦合性也降低了很多;可扩展性大大提高[PS: 关于代码耦合性,可复用性什么的,真的很大程度上是由模式本身决定的!]