浅谈三层与MVC

原创 2016年08月31日 16:36:40

MVC框架(Model View Controller):

MVC 是模型(Model)--视图(View)--控制器(Controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化界面的结构中。
这里要区分清框架和设计模式。两者及其容易混淆,MVC是一种框架。框架与设计模式虽然相似,但是却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更加抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示,设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定的领域,但同一模式却可适用于各种应用,可以说框架是软件,而设计模式是软件的知识

总之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

MVC框架内容:

MVC是一种框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

(1)视图(View)

是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
视图是用户看到并与之交互的界面。MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

(2)模型(Model)

是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需要写一次就可以被多个视图重用,所以减少了代码的重复性。

(3)控制器(Controller)

控制器是应用程序中处理用户交互的部分。通常控制器负责从视图中读取数据,控制用户输入,并向模型发送数据。
控制器接收用户的输入并调用模型和视图去完成用户的需求。


三层架构与MVC的“爱恨情仇”大笑

三层架构是基本的项目分层结果,而MVC则是三层架构的一个变体。
三层:UI 界面层 ;BLL 业务逻辑层 ;DAL 数据访问层 ;Model实体层。
MVC中的M不是三层中的Model(实体层),它其实包括三层中的BLL,DAL,MODEL,这是非常要注意的,也是区别的关键所在。

MVC总是伴随着三层架构。我们一般是在考虑使用了三层架构的基础上再根据具体需求决定是否需要使用MVC。
虽然两者的侧重点不同,但是总体目的是一致的,都是为了分层,解耦。
当然啦,任何一种事物都有优缺点:
MVC优点:
生命周期成本低,MVC使得开发和维护接口的技术含量降低。
部署快,各分其职;
可维护性高,有利于软件工程化管理。
缺点:
不适合小型,中等规模的应用程序,花费大量时间将MVC应用规模不是很大的应用程序会得不偿失的,增加了系统结构和实现的复杂性,降低系统运行效率。
视图与控制器间的过于紧密的连接,妨碍了他们的独立重用。造成视图对模型数据的低效率访问,一般高级的界面工具或构造器不支持模式。
感觉呢,理解起来有些困难,而且还有很多盲点,如果实际应用,难度对于现在的我来说,可能就理解不了了。但是有困难,才有乐趣,加油!奋斗


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

浅谈JavaEE三层架构及与mvc的区别

浅谈JavaEE三层架构及与mvc的区别

浅谈MVC与三层架构

首先给大家引入下MVC的概念:   MVC(Model View Controller)模型、视图以及控制器,它是一种较为广泛应用的结构设计模式。   模型:就是在MVC设计模式中需要被显示的数据。在...

浅谈三层结构与MVC模式的区别

浅谈三层结构与MVC模式的区别2009-04-30 09:15 钧梓昊逑 cnblogs 我要评论(3) 字号:T | T 本文将用通俗的语言,为大家介绍三层结构与MVC模式的区别。其中还以80后最...

浅谈三层结构与MVC模式的区别

有朋友谈到三层与MVC的区别,以前也有人抛出这个问题,本人对来公司面试的朋友也偶乐会提这方面的问题。 那么我也来讲讲我对这两者的理解吧。 首先对这个题目,本身是存在问题的,“XX结构”与“XX模式”的...

浅谈MVC三层架构

三层架构并不是MVC,MVC是一个很早就有的经典的程序设计模式,M-V-C分为三层,M(Model)-V(View)-C(Control)。而web开发中的三层架构是指:数据访问层(DAL-Datab...

浅谈“三层结构”原理与用意

  • 2008年07月23日 11:09
  • 627KB
  • 下载

浅谈“三层结构”原理与用意

  • 2011年04月21日 09:11
  • 1.41MB
  • 下载

浅谈 三层架构

经过一段时间对三层的学习,对三层有一些初步的见解。下面咱们来讨论一下这个神奇的东西“三层”       首先要认识到:三层不是就真的只有三层,或许有四层,有五层;所以这个三层的定义大家不要产生误解。...
  • yi_zz
  • yi_zz
  • 2011年11月30日 09:29
  • 1394

浅谈“三层结构”原理与用意

  • 2007年02月11日 20:33
  • 1.36MB
  • 下载

浅谈“三层结构”的原理与用意

  • 2010年05月17日 22:11
  • 1.33MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈三层与MVC
举报原因:
原因补充:

(最多只允许输入30个字)