设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

[译]WebForms vs. MVC

2013-9-10 10:35| 发布者: 红黑魂| 查看: 3134| 评论: 0|原作者: 滴答的雨 |来自: 博客园

摘要: 原文示例(VS2012): 1. Download Simple WebForm demo - 6.7 KB 2. Download Simple MVC Demo demo - 1.5 MB 介绍 我做为一名ASP.NET开发人员已经有很长时间了,并且我非常乐意使用ASP.NET Web Forms开发web应用 ...

c)         性能

ViewState成功的解决了经典的ASP程序中的一些问题,但也引入了另一些问题。ViewState存储在页面本身,这样增加了页面的大小降低了程序性能。

d)         可重用性



让我们讨论另一个示例,我们构建两个UI

l  纳税员工页面

l  非纳税员工页面

现在这两个页面将共用大部分后台业务逻辑。创建一个页面后,通过添加一些if判断条件创建第二个页面。 

这 将违反程序设计的单一职责原则,即一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这 些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和 界面的分离。

e)         不能完全控制HTML

Web Forms架构中,很多时候我们无法确定服务器控件在终端浏览器中生成的html,这样很难集成第三方JavaScript 库,如jQuery

f)          SEO

URL指向特定的ASPX页面,可能还包含一些查询字符串。这样对于搜索引擎来说是不友好的。更详细请看:《更友好的网站url设计》

g)         缺少并行开发支持

ASPX页面和后台代码文件是紧密耦合的,所以不方便2个开发者同时开发页面和后台代码。

 

6.         ASP.NET 4.0

ASP.NET 4.0 发布了一些新特性来解决上面提到的一些问题。

1)         ViewState:提供禁用或控制视图状态大小的功能。

2)         URL路由:使用URL路由功能,我们能提供自己的URL来代替页面的物理路径。

3)         ID:在ASP.NET4.0中,我们能更好的控制元素的ID属性,以便更好的与其他JavaScript库集成。(不过,我们任然不能完全控制HTML元素的生成)

尽管在ASP.NET4.0大幅度改进后:

1)         任然不能解决单元测试的问题。

2)         我从未见过使用ASP.NET Web Forms架构的开发者会尝试禁用ViewState。(这是个人看法)

3)         我们能控制元素的ID属性,但是不能完全控制HTML如何生成,所以任然存在结合第三方JavaScript库编程的一些困难。

 

7.         什么是MVC

MVC是一个架构模式,现在已经很多地方使用了。

很多人在Java中使用它。微软将它引入到ASP.NET MVC架构中。我们今天就来讨论ASP.NET MVC架构,但在此之前我们先了解一些MVC中的术语。

1)         模式:其实就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。

2)         架构模式:架构模式也叫架构风格,一个架构模式描述软件系统里基本的结构组织或纲要,是从子系统级别或模块级别解决我们的问题。我们常常需要构建类库、组建、Web Services等。

3)         MVC:当我们谈论到应用,就有输入逻辑,业务逻辑,UI逻辑等元素。MVC就是一个架构模式,它让我们在开发应用程序时能将这些逻辑元素保持松散耦合。

MVC模式的主要意图是分离关注点,它使的展示或UI 业务或用户交互逻辑分离。

MVC系统应该分为M(Model)V(View) C(Controller)



l  Model,被定位为智能或手动的业务规则、逻辑、数据,它独立于MVCViewController部分。

l  Controller,接收并分配用户交互逻辑或输入逻辑发出的请求,它需要知道MVCModelView

l  View,被定位为模型数据的输出表现,它可能是一个excel表格,一个显示记录列表的web页面或一个简单的文本。它只需要知道MVCModel

 



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部