为什么使用 MVC 框架
跟设计模式有关系么?
M 指的是模型和数据跟逻辑
V 指的是视图显示
C 指的是控制
MV 之间使用了观察者模式, 也就是信号监听, 视图监听模型的状态变化而变化, 减少了视图和模型的耦合
VC 之间用的是策略模式, V 使用 C,C 做处理, C 可以被替换为其他 C
V 自己是组合模式, 将多个 ui 组合使用
V 可以直接获取模型数据, V 可以有 C 和 M 的引用
C 可以直接让 V 和 M 做修改, C 可以生成 V 拥有 M
但是 M 不能让 C 和 V 直接变化, 也就是应该实现 M 跟 V,C 完全脱离关系.
在实际运用中, 一般 V 里面确实会需要获取 M 的数据, 也会直接调用 C 的接口 (一般来说都会给 C 封装一个工厂, 获取相应的策略 C)
C 里面直接调用 V 和 M.
检验结构好不好, 只要你发现你换了一个新 V 却不需要怎么改变 C, 而且完全不需要改变 M
或者换了一个 C, 因为不需要改变 M, 就是比较好的结构了. 主要还是减少这三者之间的耦合.
来源: http://www.bubuko.com/infodetail-3001282.html