《Head First》 MVC运用的设计模式

为什么使用 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,就是比较好的结构了。主要还是减少这三者之间的耦合。

 

posted @ 2019-03-26 23:00  leilei199441  阅读(225)  评论(0编辑  收藏  举报