浅谈 MVC、MVP 和 MVVM 架构模式

这是 MVX 系列的第四篇文章,在前面的文章中,我们先后介绍了 iOS 中的 Model、View 和 Controller 的现状,对比了其他平台中的设计,最后给出了作者理想中的结构。而这一篇文章,作者会依次介绍 MVC、MVP 以及 MVVM 架构模式以及不同平台对它们的使用,虽然参考了很多资料,不过文中观点难免掺入作者的主观意见,作者也希望文中的错误与不足之处能被各位读者指出。 »

谈谈 MVX 中的 Controller

在前两篇文章中,我们已经对 iOS 中的 Model 层以及 View 层进行了分析,划分出了它们的具体职责,其中 Model 层除了负责数据的持久存储、缓存工作,还要负责所有 HTTP 请求的发出等工作;而对于 View 层的职责,我们并没有做出太多的改变,有的只是细分其内部的视图种类,以及分离 UIView 不应该具有的属性和功能。 »

谈谈 MVX 中的 View

这是谈谈 MVX 系列的第二篇文章,上一篇文章中对 iOS 中 Model 层的设计进行了简要的分析;而在这里,我们会对 MVC 中的视图层进行讨论,谈一谈现有的视图层有着什么样的问题,如何在框架的层面上去改进,同时与服务端的视图层进行对比,分析它们的差异。 »

谈谈 MVX 中的 Model

在大多数 iOS 的项目中,Model 层只是一个单纯的数据结构,你可以看到的绝大部分模型都是这样的;模型起到了定义一堆『坑』的作用,只是一个简单的模板,并没有参与到实际的业务逻辑,只是在模型层进行了一层抽象,将服务端发回的 JSON 或者说 Dictionary 对象中的字段一一取出并装填到预先定义好的模型中。 »