仓酷云

标题: 来看看:WEB开辟概念:MVC会代替Web form? [打印本页]

作者: 小女巫    时间: 2015-1-15 22:57
标题: 来看看:WEB开辟概念:MVC会代替Web form?
历经多年来的停滞不前,如今全球信息网联盟(WorldWideWebConsortium,W3C)重拾HTML标准化。破洛洛文章简介:为何要从Webform过渡到MVC中.
能够说,在将来几年中,Webform的利用会渐渐削减,而取而代之的就是MVC。大概你不会批准我的概念,那末我就试着论述一下我的概念,假如你仍是不克不及承受,那末请你辩驳我。
进修一个新言语大概是新架构是必要工夫的,我们必要摒弃本来进修的很深切而且用的很纯熟的架构来投合新架构嘛?是的,假如让我说,我的回覆是不是,可是我必要看清这个新架构事实和本来的架构有哪些改善,是不是真的必要我们投进大批的工夫往进修?Mvc是一种架构形式,它带来了全新的和asp时期一样的开辟体验(注:我不是说这是发展)。
上面我就来论述一下关于Webform,MVC是不是值得我们往进修。
1.ViewState
信任人人关于这个视图形态都很熟习,它是用来保留我们在页面中输出的数据形态,以便我们能够在革新页面大概回发时使页面回到我们本来的输出数据时的形态,这个效果很好的完成了我们的需求。可是同时,我们要问本人一下,是不是我们就真的必要这些,必要页面革新时显现本来的数据,这是不是是成心义的?
另有就是ViewState在webform时期年夜行其道,在每一个页面城市存在,乃至在庞大的页面中他的巨细乃至很年夜,在每次页面回发时城市传送ViewState形态,我们不压服务器剖析这些ViewState必要工夫,就是每次页面传输都要传送这些ViewState就会使带宽增添,显现网页的工夫变长。这在2.0时期,最最少是我所不同意的。
2.PageLifeCycle页面熟命周期
在Webform中存在着庞大的性命周期,我乃至分明的记得在我进修Webform的时分,都是拿着笔在纸上画着这些周期图,在每一个周期页面会实行甚么举措。这就像我在进修c#毗连数据库的时分写sqlhelper,让我很头疼。比方在Page_render()中不该该会见详细的控件,由于这时候控件还没有天生(有园友提堕落误,我查阅了材料也以为这是毛病的,由于这时候已把控件衬着要输入,特此声明。感激园友提堕落误,我会主动更正),假如要会见请在Page_load()中,我们天天都要和Page_Load()事务打交道,最少我很常常。IsPostBack是常常能够见到的办法。
假如你以为你能够完整把握这些性命周期,那末最少你是一位年夜牛。假如你能够很随便的就把持页面的性命周期,而且把持控件的天生,那末我会很仰慕你。
3.Falsesenseofconcerns失利的存眷点分别
如今我们做软件,考究的都是可保护性、可重用性和存眷点分别。作甚存眷点分别,我的了解就是每层布局只卖力他本人的事变,不属于他的不克不及把持,也不要试图把持。比方,我们在codebehind中写了会见数据库的代码,挪用了sqlhelper中的类,可是如今是数据库服务器的服务没有开启,那末此次挪用一定会抛出非常。岂非让我们在codebehind中处置这些非常,那末我们程序员会累逝世的,非常应当是sqlhelper中处置,而不是codebehind。这应当就是所谓的存眷点分别。另有就是存眷点分别应当是每一个类只卖力他本人的事情,而不要在一个类SqlHelper中有着前往html的语句呈现。
4.LimitedcontroloverHTML关于html的把持极差
我在页面熟命周期中说了,假如你能够随便的变动天生的控件,那末我会崇敬你。假如说关于一个服务器端控件能够把持天生html的款式,大概天生html的ID、name,以即可以让js利用,这是很坚苦的。固然在.net4.0中增加了一个属性,那就是ClientIDMode,假如把这个属性值设置为static,就能够天生和界说的ID一样的html的ID值。默许情形下这是不被启用的,会天生庞大的、嵌套的ID值。这关于我们在客户端操纵html标签是很坚苦的。
固然了,这不是你能够转向MVC的缘故原由,可是是缘故原由之一,固然这个缘故原由大概会有点牵强。
5.Leakyabstraction懦弱的笼统
Webform试图埋没一切的http形态(http的无影象性大概是无形态性)。我们在拖进一个服务器控件的时分历来必要思索他会在甚么时分显现?由于服务器控件已完成了这些,比方,IsPostBack办法为何能够用来判别页面是不是回发,它的完成道理是甚么?我们不会体贴,我们只体贴这个办法可以完成甚么,这就够了?真的够了吗?
我以为没有,只是会利用,我想任何一个只需熟悉英文的人都能够完成,可是会利用就够了吗?功能成绩到达了吗?会呈现哪些成绩?我们都不晓得,我们只是用了一个黑盒子,可是内里是甚么器材我们不晓得?假如是圈套我们也会坚决果断的跳出来?对吗?
偶然的熟习一下源码,关于提拔我们本人的开辟程度有匡助以外,我们也能够发明良多我们能够把持的成绩,制止他们产生?以是,敬爱的伴侣们,不要仅仅限于利用,偶然候年夜牛和小牛的基本区分就是小牛不晓得为何要如许?而年夜牛引导怎样更好的如许。
6.Lowtestability极差的可测试性
我在之前开辟webform的时分,接纳服务器控件能够年夜年夜的进步开辟速率。可是,我历来不晓得怎样往测试我开辟的代码是不是运转一般。独一的体例就是本人一团体没事的时分点击、点击、再点击。另有就是设置断点,按住F11,不休的点击键盘,直到看到这些代码都想吐的境地?
可是在MVC中,这些成绩都不再存在,由于我们可使用Nunit等能够举行单位测试的工具,我们能够把测试准确到每行代码,我们能够完成测试的主动化,制止了手动点击华侈的大批工夫。这是一件功德,不是吗?
另有我团体以为最主要的一个缘故原由就是,你假如有webform的开辟基本,那末进修MVC能够说就是很复杂的事变,由于MVC中没有了服务器控件,有的只是html标签和一些能够天生html标签的helper类。我团体感到作美工的假如想转开辟,这却是不错的机会,由于html关于美工来讲笔程序员更熟习。
在MVC中没有ViewState,能够对html举行完整的把持,能够不再利用本来的Urlrewriter,而是接纳MVC中自带的Route(Url路由体系),优秀的存眷点分别框架(Model、View、Controller),每层都是卖力本人的义务。
在MVC中不是每个地点城市对一个一个详细的页面,你能够界说多个Action,前往统一个页面。在MVC中由于有了壮大的路由体系,以是我们不会再会到www.ckuyun.com/default.aspx,如许的地点了,而是取而代之的www.ckuyun.com/home/index,这是一个伟大的冲破。可让特定的页面具有详细的寄义。这是URl友爱,你以为呢?
我并非说MVC会代替Webform,而是他们之间的对照性,固然假如能够制止一些成绩的存在,那末让MVC和Webfrom共存在统一个项目中,也许是纷歧个不错的选择。可是条件仍是必要你进修MVC,我团体以为在将来几年中,Webform和MVC会共存。
好了,说了这么多,我只是有一句话,就是假如你想在将来的Web开辟中不掉队,那末就在专业工夫进修一下MVC吧。
假如你想你的网站具有更好的可保护性,那末接纳MVC是你的明智之举。
以上只是我的团体所言,请列位参考!!
天天前进一点,一年就会前进一年夜步,十年就能够乐成,小人当发奋图强,小人当好勤学习,天天前进。
</p>
HTML5TheMediaCaptureAPI提供了对摄像头的可编程访问,用户可以直接用getUserMedia获得摄像头提供的视频流。我们需要做的是添加一个HTML5的Video标签
作者: 变相怪杰    时间: 2015-1-17 19:54
帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。
作者: 莫相离    时间: 2015-1-24 08:11
只要我们努力,无论是怎样的艰难险阻,成功依然会迎面直击。在刚开始时我觉得dreamweaver mx XX很难理解。
作者: 精灵巫婆    时间: 2015-2-1 07:20
还可以在Dreamweaver常用工具中选择超级链接,完成相应的填写即可。
作者: 再见西城    时间: 2015-2-7 03:13
直接用代码建立链接,如:可以直接输入 <a herf = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"red.html\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\">红色的网页 12、插入标签法建立链接,可以再选中文字后在代码中插入html标签,页元素<a>.也可以按ctrl+t进入html标签插入方法之后输入代码即可。
作者: 小妖女    时间: 2015-2-20 13:51
在刚开始接触网页的第一堂课上,听说网页制作会是一门很无聊并且很难听懂的过程,而事实却印证了这样一个事实。
作者: 灵魂腐蚀    时间: 2015-3-6 18:09
布局表格、绘制层、制作CSS样式表等,这些内容迷糊了我的视线,真是没想到制作一个精巧别致的网页是如此的困难,可是心有不甘。
作者: 愤怒的大鸟    时间: 2015-3-13 07:07
可以使用 CSS 检查工具进行设计。
作者: 冷月葬花魂    时间: 2015-3-20 15:58
Adobe Dreamweaver CS5 软件使设计人员和开发人员能充满自信地构建基于标准的网站。由于同新的 Adobe CS Live 在线服务 Adobe BrowserLab 集成。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2