您的位置:首页 > 运维架构 > 网站架构

【ITOO】浅谈MVC

2015-12-06 23:47 465 查看
  最近真是忙的充实快乐。。我也是无语了!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一种设计模式,在开发中要配合其他技术一起使用,才能达到更好的效果。期待对它更加深入的理解。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息