iOS的项目架构一般是使用这两种模式构建出来:MVC模式、MMVM模式。
MVC模式使用还是非常常用和普遍的,而对于MMVM模式则是一般会在项目考虑频繁View-Model交互情况下使用。
1. MVC模式(Model-View-Controller)
M:Model模型
V:View视图
C:Controller控制器
在 MVC 模式中各个模块负责的功能分别是
>> M - 数据处理,如图片保存、删除、复制等操作涉及数据,当然还有 @property 属性作为数据模型传值使用。
>> V - view 即界面展示全部都会在这里进行,所有的 UI 放置和 UI位置大小、颜色、数据等更新,都回到这里来更新
>> C - Controller 作为View和Model 的桥接器,作为控制器所在,当然起着控制作用。
1. 可执行 V(view) 中UI的Action和Target监听事件处理等操作;还可通过block回调到view 刷新UI。
2. 可进行Model数据处理后View刷新的桥接或者View执行Action后Model操作。
2. MVVM模式(Model-View-ViewModel)
M:MOdel模型
V:View视图
VM:ViewModel视图模型
|
使用MVVM模式的几大优点:
通过这三个部分实现UI逻辑、呈现逻辑和状态控制、数据与业务逻辑的分离。
1. 低耦合。View可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
2. 可重用性。可以把一些视图的逻辑放在ViewModel里面,让很多View重用这段视图逻辑。
3. 独立开发。开发人员可以专注与业务逻辑和数据的开发(ViewModel)。设计人员可以专注于界面(View)的设计。
4. 可测试性。可以针对ViewModel来对界面(View)进行测试。










网友评论