【ITOO】浅谈MVC

  最近真是忙的充实快乐。。我也是无语了!ITOO要开始了,开始之前要做很多的准备工作,以前在大话设计上了解过一丁点儿MVC,但只是几句话而已。。现在负责人让一天看完5小时的视频,真是一次很好的挑战呀。。

 

定义

  MVC是一种设计模式,是Model-View-Controller的简称。它把应用程序分成三个核心模块:模型、视图、控制器。MVC的诞生是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中,而且,运用于基于Web的企业级多层应用领域也是很适合的。MVC提供了一种按功能对各种对象进行分割的方法,其目的是为了将对象间的耦合程度减至最小。

 

各个层的功能

 模型(Model)

  主要负责业务逻辑以及数据库的交互。封装与业务逻辑相关的数据以及对这些数据的处理方法。它可以让控制器(Controller)访问期封装的数据处理方法

 控制器(Controller)

  主要是用作捕获请求并控制请求转发。它负责对用户的要求进行解释,并映射成相应的行为。这些行为包括处理业务和修改模型的状态等,是由模型来实现的。根据用户要求和模型行为的结果,控制器选择一个视图作为对用户请求的应答。通常一组相关功能集对应一个控制器

 视图(View)

  主要用于显示数据和提交数据。它从模型那里获得数据并制定这些数据如何表现,当模型变化时,视图负责维持数据的一致性。

 

处理过程

  (1)控制器接收用户的请求(将所有请求归结到控制器下的Action中),并决定应该调用哪个模型来进行处理。

  (2)模型根据用户请求进行相应的业务逻辑处理,并返回数据。

  (3)控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。

 

优点

  (1)多个视图能共享一个模型大大提高了代码的可重用性。

  (2)由于MVC的三个模块相互独立,依据这种设计思想能构造良好的松耦合的构件。

  (3)控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求

 

缺点

(1)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

(2)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

(3)目前,一般高级的界面工具或构造器不支持MVC架构。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难

 

适用范围

  对于简单的界面,如果严格遵循MVC,是模型、视图与控制器分离,增加了系统结构和实现的复杂性。这样一来,是软件的开发周期加长,并可能产生过多的更新操作,降低运行效率。

  所以,MVC适用于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序。MVC将会使咱们的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。

 

总结

  MVC一种设计模式,在开发中要配合其他技术一起使用,才能达到更好的效果。期待对它更加深入的理解。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值