十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
iOS的项目架构一般是使用这两种模式构建出来:MVC模式、MMVM模式。
成都创新互联专注于京口企业网站建设,响应式网站设计,商城网站制作。京口网站建设公司,为京口等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
MVC模式使用还是非常常用和普遍的,而对于MMVM模式则是一般会在项目考虑频繁View-Model交互情况下使用。
上一篇我们说到组件化开发是一个App最大一层的架构,那具体到了一个一个的业务组件里,比组件化开发小一点的架构就是三层架构。所谓三层架构就是指把项目中所有的类划分到不同的层,目的是使项目逻辑更加清晰,提升开发和维护的效率,我们一般会把项目分为三层:数据层、业务层、视图层。
注意:严格来讲,三层架构并不真正就比组件化开发小,它们俩只是从不同的角度去做架构而已,往往是相互融合的,比如组件化开发里网络库就是三层架构里数据层的内容,UI库就是三层架构里视图层里的内容等,这里之所以说“三层架构是比组件化开发小一点的架构,主要是针对业务组件来说的”,当然甚至我们在不使用组件化开发时项目里依然可以使用三层架构。
比三层架构再小一点的架构就是视图层架构,我们常说的MVC、MVVM都是˛视图层的架构。
MVC,即Model-View-Controller,它们的关系如下:
MVVM,即Model-View-ViewModel,它们的关系如下:
MVC的实现思路是:用户操作View,在Controller层完成业务逻辑处理,更新Model层,将数据显示在View层。
在MVC中,每个层之间都有关联,耦合比较紧,在大型项目中,维护起来比较费力。
View把控制权交给Controller层,自己不执行业务逻辑;Controller层执行业务逻辑并且操作Model层,但不会直接操作View层;View和Model层的同步消息是通过观察者模式进行,而同步操作是由View层自己请求Model层的数据,然后对视图进行更新,观察者模式可以做到多视图同时更新。
Person.h
Person.m
TestView.h
TestView.m
ViewController.m
MVVM和MVP的最大区别是采用了双向绑定机制,View的变动,自动反映在ViewModel上。
MVVM结构如图:
模型层:
Person.h
Person.m
视图层:
TestView.h
TestView.m
PersonViewModel.h
PersonViewModel.m
ViewController.m