MVC思想及其优势

       MVC并不是Java语言所特有的设计思想, 也并不是Web应用所特有的思想, 它是所有面向对象 程序设计语言都应该遵守的规范。
       MVC思想将 个应用分成三个基本部分:Model(模型〉、View (视图〉和Cont roller 〈控制器〉,这三个部分以最少的稿合协同工作, 从而提高应用的可扩展性及可维护性。
      在经典的MVC模式中, 事件由控制捺处理, 控制器根据事件的类型改变模型或视图, 反之亦然。具体地说,每个模型对应一系列的视图列表, 这种对应关系通常采用注册来完成, 即: 把多个视图注册到同一个模型, 当模型发生改变时, 模型向所有注册过的视图发送通知, 接下来, 视图从对应的模 型中获得信息, 然后完成视图 显示的更新。
       从设计模式的角度来看,MVC思想非常类似于观察者模式, 但与观察者模式存在少许差别: 观察者模式下 观察者和被观察者可以是两个互相对等的对象, 但对于MVC思想而言, 被观察者往往只是单纯的数据体, 而观察者则是单纯的视图页面。
       概括起来, MVC有如下特点:
  • 多个视图可以对应一个模型。按MVC设计模式, 一个模型对应多个视图, 可以减少代码的复制及代码的维护量,一旦模型发生改变, 也易于维护。
  • 模型返回的数据与显示逻缉分离。模型数据可以应用任何的显示技术,例如,使用JSP页面 、Velocity模板或者直接产生Excel文档等。
  • 应用被分隔为三层, 降低了各层之间的精合, 提供了应用的可扩展性。
  • 控制层的概念也很有效, 由于它把不同的模型和不同的视图组合在一起, 完成不同的请求。因此, 控制层可以说是包含了用户请求权限的概念。
  • MVC更符合软件工程化管理的精神。不同的层各司其职,每层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。
       相对于早期的MVC思想, Web模式下的MVC思想则又存在 一些变化,因为对于一个应用程序而言, 我们可以将视图注册给模型, 当模型数据发生改变时, 即时通知视图页面发生改变;而对于 Web应用而言,即使将多个JSP页面注册给 个模型, 当模型发生变化时, 模型无法主动发送消息给 JSP页面〈因为Web应用都是基于请求/响应模式的 ), 只有当用 户请求浏览该页面时, 控制器才负责 调用模型数据来更新JSP页面。图1显示了遵循MVC模式的java web的运行流程。
                                                  
  
                                                                        图1 遵循MVC模式的java web运行流程                                                 

         MVC思想与观察者模式有一定的相似之处,但并不完全相同 . 经典的MVC思想与 Web 应用的 MVC思想也存在一定的差别, 引起差别的主委原因是因为 Web 应用是一种请求/响应模式下应用, 对于请求/响应应用, 如果用户不对应用发出请求, 视图无法主 动更新自己。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值