简说MVC

众所周知,MVC 分别代表的是:

M:模型(数据层)

V:视图(负责视图呈现,用户直观呈现)

C:控制器(接收视图输入的请求,并发送的模型,然后响应视图的请求。)

其实做过开发的人都知道,其实控制器是可以去掉的,类似PHP中,模型和视图是可以混编在一起的。那么为什么我们还需要控制层。原因如下:

    1.因为控制器作用是解析请求,然后操做模型。
    2.如果控制器与视图混合,增加代码的复杂度,不易维护,并且降低开发效率(视图有了两个职责,既要管理视图,还有控制处理模型的逻辑)
    3.最后,视图与模型紧耦合,如果想让视图处理其他模型,变得不可能。
    所以视图与控制器分离,这样会更有弹性和扩展性

那么MVC模式到低是什么?

其实MVC模式本质就是多个设计模式的组合,其中主要涉及的主要设计模式有:

1.视图内部通过组合模式实现,比如视图与视图之间可以相互嵌套,按钮以及其他显示组件
2.视图与控制器之间以策略模式实现,在不改变视图的情况下,如果想让相同的视图有不一样的响应方式,只需要换一个控制器
3.视图与模型之间,以观察者模式实现。视图根据模型数据的改变刷新视图

MVC设计模式的主要作用:开发者之间解耦,该写数据模型的人就编写模型,该做界面的人就做界面,专业分工,责任清楚。

参考数据:《Head First设计模式(中文版)》 和 《Gof设计模式》

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值