• 什么是MVC

MVC(Model-View-Controller。模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。既然是一种“模式”,在我看来。它就同设计模式一样,解耦。封装。实现软件的灵活,复用和扩展。

自己对MVC理解得还非常浅显,假设非要把MVC和三层联系到一起的话,我觉得View和Controller更像是UI层,Model中能够有BLL,DAL,Entity,仅仅是个人理解。

  • 为什么使用MVC

在Web开发中,界面会由于需求变化,常常修改,而业务逻辑的更改不多。即界面显示上的变动>业务逻辑变动。

  • 和WebForm差别

页面显示和逻辑分离:

原来建一个ASP.NET Web窗口应用程序:

       
           

页面的aspx页面相应一个aspx.cs类,是耦合在一起的。假设我们想从页面的server控件上获取值,则须要在它相应的cs文件里写控件名.的形式,这样当界面上更改了,代码中也得跟着改,要不就得新建一个窗口。把不变的部分Copy过来。

在MVC中:

.aspx文件和cs文件是分离的。一个控制器相应一组页面,比方,Index页面有变化。我们能够再新建一个页面Index。把原来的删掉。而控制器中的Index方法中的逻辑不须要改变;也能够建一个不同名字的页面,如MyIndex。然后在原来的Index方法,改动Return View。默认情况下,返回的View是和方法同名的,可是同意返回不同视图。

只是这样。就不符合开闭原则了吧。

訪问方式:

WebForm是在server的物理地址中查找详细的某个页面

MVC是查找Controller下的某个方法

其它:

在WebForm中,对于一个页面,我们能够右击浏览该页面。或这是该页面为启动项。可是在MVC中。我们要浏览某个页面。仅仅能在地址栏中输入地址。而设置启动项,则须要在Global.asax中的路由中设置。

在WebForm中,我们是将控件直接拖到页面上。而在MVC中我们须要手写Html代码,只是在MVC中,还有HtmlHelper,这就轻松多了。

  • 总结

这篇文章简要介绍了MVC,以及它和WebForm的差别。自己对二者的理解,还仅仅是表面的东西。通过看别人的博客,了解到二者各有优缺点,下面链接。能够供大家參考。

http://www.cnblogs.com/wlb/archive/2009/12/07/1618954.html

最新文章

  1. Json.net日期格式化
  2. 【转载】ANSYS完全法与模态叠加法瞬态分析实例
  3. 安卓冷知识:LayoutParams
  4. Map集合概述
  5. hdu1455 dfs+剪枝
  6. 2015年第12本(英文第8本):the Old Man and the Sea 老人与海
  7. javascript练习----复选框全选,全不选,反选
  8. 第一章TP-Link 703N刷OpenWrt
  9. iOS之RunTime浅谈
  10. Linux协议栈函数调用流程
  11. 小记UNIX编程库调用.
  12. jq里attr和prop的区别
  13. H3 BPM报销流程开发示例
  14. 在Table的Tbody中实现滚动条滚动
  15. mysql变量使用总结(转)
  16. 解决phpstorm ftp自动保存文件问题
  17. 你可能不知道的 Mac 技巧 - 文本操作
  18. Gradle实现自动打包,签名,自定义apk文件名
  19. UVA1618-Weak Key(RMQ)
  20. [matlab] 20.图与网络 matlab自带函数使用

热门文章

  1. [暑假集训--数论]poj3518 Prime Gap
  2. HDR 高动态范围图像
  3. div 的相对定位与绝对定位
  4. 使用T4模板创建一个例子
  5. echarts中关于merge的代码
  6. uva 1611:Crane(构造 Grade D)
  7. java中Map的entrySet 和keySet的使用
  8. RecyclerView的Item和Item内的控件点击处理
  9. 调用Thread.interrupt()方法到底会发生什么?
  10. 《HelloGitHub》第 38 期