MVC框架

  1. 云栖社区>
  2. 博客>
  3. 正文

MVC框架

leanring 2015-07-31 12:11:00 浏览1321
展开阅读全文
	前段时间,一直跟着师父做一个项目。整个系统的框架都是师父搭建好的,作为新手,刚开始以为我们只是跟着了解了解需求,后来,没想到,师父也给了我们参与到代码的编写的机会,从而见到了整个系统的真正框架。
	系统的框架是MVC+WCF+EF。这几个英文缩写其实自己也不是第一次见,之前在浏览师哥师姐们的博客里,经常见到。这一次亲身经历,学习的机会便不约而至了。这篇博客就从MVC说起。
	一.什么是MVC?
	(宏观认识)
	MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
	它是用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
	(细节把握)
	Model(模型)表示应用程序核心,是应用程序中用于处理应用程序数据逻辑的部分,负责在数据库中存取数据。
	View(视图)显示数据,是应用程序中处理数据显示的部分,是依据模型数据创建的。
	Controller(控制器)处理输入,是应用程序中处理用户交互的部分通常负责从视图读取数据,控制用户输入,并向模型发送数据。
    	对于MVC,自己在整个项目中,接触的多的只是Controller和View,模型都是师父搭建好的,所以自己的工作难度也就大大降低了。一般都是在Controller中写好需要实现的业务逻辑,然后界面层通过引用自己写的js,从而实现各部分功能。
	二.MVC的特点?
	(优点)
  • 耦合性低:三个部件相互独立,改变其中一个不会影响其它两个。
  • 重用性高:MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,多个视图能共享一个模型。
  • 生命周期成本低:使开发和维护用户接口的技术含量降低。
  • 部署快:开发时间大大缩减,使业务逻辑人员和界面程序人员都精于各自的领域即可。
  • 可维护性高:分离视图层和业务逻辑层使得Web应用更易于维护和修改。
(缺点)
  • 没有明确的定义;
  • 不适合小型、中等规模的应用程序;
  • 增加系统结构和实现的复杂性。
    对于MVC的优缺点,现在自己认识的并不是很深刻,这还是第一次接触。     但对于其优点的耦合性低和重用性高,体会比较深刻一些。     在调试程序的过程中,如果是功能没有实现,那么我就会直接从Controller或是后台方法去找问题,比如提示“变量的值不能为空”等;如果是用户界面样式没有达到理想要求,那么我就会从View或View引用下的js出发,比如显示的界面并不是EasyUI的效果那样;如果涉及到的问题是与数据库有关联,比如提示“键的信息不能删除”等,那么我就会直接去看模型,看是不是有什么不对的地方。这正是因为MVC大大降低了这几层之间的耦合性,什么层该干什么,都很清楚。 三.MVC与三层架构的区别?     不知道对MVC了解到这里,大家有没有想起过它与我们接触的什么知识有着很大程度上的相似呢。     可能大家都会想到经典的三层架构,但其实,它们根本不是一个概念。     下面就说说它们两个的区别 (1)概念不同:一个项目的开始,我们需要先进行架构设计,而我们一般采用的就是分层式,也就是我们所说的三层。而在确定了架构之后,我们就需要进一步确定我们是否需要使用各种框架模式或是设计模式,而MVC就是我们说的框架模式下的一种。 (2)层次不同:我们可能一下就会在脑海中产生这样一种关系:M对应着D层,V对应着U层,C对应着B层。而实际上这样是不对的。我从网上看资料的时候,看到了下面一张图,诠释的还是很清楚的: (3)重点不同:三层架构的目的着重点是“高内聚,低耦合”,即解耦。MVC的目的则是实现Web系统的职能分工,即职责划分。   其实职责划分也是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦,即侧重jsp和Servlet的一个解耦。     我们之所以会把MVC与三层混淆在一起,是因为两者都是“三层”,一个是UI、BLL、DAL,一个是View、Controller、Model。而MVC中总是伴随着三层架构,它们两者是一起出现的。另外,它们都是为了解耦和。 四.如何在VS2013中创建MVC项目 (1)新建 新建一个采用MVC框架的项目,名为Demo (2)选择 选择形成一个基本的MVC项目,选择视图引擎,它共有两个选择,一个是aspx,一个是Razor,这两者有什么区别,可以看看师哥写的一篇博客:ASPX和Razor (3)生成 生成解决方案,主要的就是两个文件夹,Controllers和Views,VS2013中不能从Controller中直接生成View,只有自己手动添加,所以必须保证该文件夹下同一业务逻辑的名称必须完全相同。 五.学习感受 第一次接触MVC框架,对于它其中的复杂的原理或者说是理论知识其实还是很模糊的,整个项目下来,自己通过对一个字典页面的管理,也算是知道了应该去做些什么。这个阶段也算是先培养培养代码感情,在以后做项目的时候也更容易上手。 一个新东西,摆在自己面前还是有些苦恼的,虽然师父让我照着一个师姐的模板去做,但照葫芦画瓢的工作还是很艰巨的,自己也是一边理解,一边实践,一条线一条线地去实现,到最后明白了很多,同样也还是遗留了很多问题。 总之,这一次真的是大开眼界了。

网友评论

登录后评论
0/500
评论
leanring
+ 关注