(引用qghboy)MVC 与三层架构的区别
2010-05-19 09:46
253 查看
举个小例子来解释一下MVC 与三层架构的区别,看了很多人分不清楚,心里觉得不爽
大家应该对 WebForm 都比较了解
假如 有一个文件 叫作 index.aspx 就会有一个 index.aspx.cs 相对应
页面显示内容都显示在 index.aspx 里面 ,而代码都写在 index.aspx.cs 里面
是页面和代码捆绑在一起的,事件都是用回发方式处理,假如说index.aspx 里面的一个按妞Button,并有他的Button_Click()事件,当我们发现我们错了,不再需要这个按妞的时候,那么我们在删除Button的时候同时也要删除Button_Click()事件,那么当我们发现,有大量的这种错误时,那么我们不管是 index.aspx和index.aspx.cs都要重写,那么当你废除index.aspx的同时,基本上 index.aspx.cs 也被废除了,
也就是说实际上这种模式并没有做到"显示"和"代码"分离机制,有的只是表面上的把二种代码分开写而于,
而MVC恰恰可以解决这个问题,
而在MVC里面若有一个index.aspx文件 只作显示用,而代码呢?不再是相对应的一个index.aspx.cs文件了,而是集中放置在同一个类文件中(即控制器中),用一个方法过程对应这个 index.aspx 页面,当你请求这个index.aspx文件时,会默认提前请求这个方法处理数据,并把所有 index.aspx页面中要显示的数据都提前取好,并且存放在 例示于 Session 的 ViewData 中,然后再回转到index.aspx页面,这时index.aspx显面只要取出 Session 或 ViewData 里面的数据就可以了,也就是这个时候 index.aspx 才真真意义是只是显示而于了.所有事件都用提交方式交给 控制器处理 控制器处理好后 再跳转到我们所需要的页面中来,
即 MVC 中的 V 和 C 只是用来取代 WebForm 中的 aspx 及 aspx.cs 文件的处理方式而于
对于M ( MOdel ) ,它即可以是空也可以包罗万象,可以把所谓的三层架构, N层架构,什么BLL,DAL 等等都通通的放在 MOdel里面来
所前面有位童鞋说的很好 MVC 只是显示模式 和 三层架构根本不搭架,如果有需要 你可以把三层架构加进来
如果你再不明白,那你就记住 MVC 在结构上等同于 "aspx 和aspx.cx"地位 与三层结构无关
或者说 MVC 充当了 三层架构中的 "显示层"
(这话很牵强,但是可以让人很好区分和理解三层架构和MVC的区别)
相关文章推荐
- (引用qghboy)MVC 与三层架构的区别
- 【转】asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- 三层架构与MVC的区别
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- 【转】asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- 三层架构与MVC的区别
- 详细讲解mvc与三层架构的区别
- mvc和三层架构到底有什么区别
- MVC 和 三层架构的区别
- 三层架构与MVC的区别
- mvc与三层架构终极区别
- asp.net mvc与传统三层架构的区别
- 三层架构与MVC区别
- 三层架构与MVC的区别
- mvc和三层架构到底有什么区别
- 三层架构与MVC之间的区别
- 浅谈MVC、ASP.NETMVC和三层架构的区别
- MVC和三层架构的区别
- \t\tASP.NET MVC 与 WebForm 三层架构 区别
- mvc与三层架构的区别