0.前言
作者:sindriLin
声明:本网站有"原创"字样均属网站自创作品,其余资料均来自网络,如有版权问题,请联系我们删除。
MVC架构杂谈
MVC
是软件工程中的一种软件架构模式,它把软件系统分为三个基本的部分:模型Model
、视图View
以及控制器Controller
。这种模式的目的是为了实现一种动态的程序设计,简化后续对软件系统的修改和扩展,并使得程序的某一部分的复用成为可能。三个部分按照其各自的职责划分:
- 数据Model: 负责封装数据、存储和处理数据运算等工作
- 视图View: 负责数据展示、监听用户触摸等工作
- 控制器Controller: 负责业务逻辑、事件响应、数据加工等工作
在传统的
MVC
结构中,数据层在发生改变之后会通知视图层进行对应的处理,视图层能直接访问数据层。但在iOS中,M
和V
之间禁止通信,必须由C
控制器层来协调M
和V
之间的变化。如下图所示,C
对M
和V
的访问是不受限的,但M
和V
不允许直接接触控制器层,而是由多种Callbacks
方式来通知控制器
本文旨在总结归纳笔者自己在开发过程中对于架构设计的理解,顺带一些笔者对控制器代码瘦身的总结。
在此声明,以下文章的观点为个人观点,如果你觉得笔者的观点存在问题,欢迎在讨论区交流。