ASP.NET MVC 模式的优缺点「建议收藏」

ASP.NET MVC 模式的优缺点「建议收藏」http://www.enet.com.cn/eschool/video/c_peng/看别人的视频开始学习第一课。

大家好,又见面了,我是你们的朋友全栈君。

MVC模式的优点:

1、关注点分离:每个功能至少会被切分成为M-V-C三个部分,让开发者只需要关注一个部分,进而降低复杂度,提高开发速度。

2、分层负责,进而降低复杂度,提高开发速度。

3、自由操控HTML:在ASP.NET MVC 中已经不使用控件,回归到网页基本元素HTML、CSS和JavaScript,因此灵活性大幅度增加。

4、方便使用程序包:可以自由操控HTML,因此使用第三方程序包变得非常简单(与Web Forms 相比)。

5、与设计沟通更直观:不需要再将视觉设计的HTML重新改成控件,直接使用HTML即可,套版后的HTML(View)设计也可以看的懂,有利于后续微调页面。

6、开放源码:ASP.NET MVC 是开放源码的项目,意味着如果需要就可以定制ASP.NET MVC 来达到需求。

7、移动设备支持度:ASP.NET MVC 4以后的版本针对移动网站增加了许多功能,对于变化更多的移动设备也能有很好的支持。

8、开发简单:不再有页面生命周期,回归到无状态的网页,经由HTTP动词来处理不同情况的操作。

9、网页流量降低:ViewState不再存在,并且内建CSS、JS捆绑与最小化机制与各种各样的Helper,可以有效地降低数据传输量。

10、快速开发:拥有许多不同种类的Template,可交互使用,提高开发速度。

MVC模式的缺点:

  1、增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

  2、视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

  3、视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

  4、 目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162909.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 进程的挂起状态详细分析方法_线程挂起

    进程的挂起状态详细分析方法_线程挂起通常我们所认为的进程有五大状态,新建态,就绪态,阻塞态,运行态,退出态。 下面是示意图: 事实上还存在被挂起的进程。    交换的需要前面图中三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。 但是,可以证明往模型中增加其他状态也是合理的。下面考虑一个没有使用虚拟内存的系统,每次执行中的进程必须完全载入内存。因此

    2022年10月26日
  • linux awk命令详解

    linux awk命令详解awk是行处理器:相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息awk处理过程:依次对每一行进行处理,然后输出awk命令形式:awk[-F|-f|-v]‘BEGIN{}//{command1;command2}END{}’file[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量var=…

  • pytorch实现L2和L1正则化regularization的方法

    pytorch实现L2和L1正则化regularization的方法pytorch实现L2和L1正则化的方法目录目录pytorch实现L2和L1正则化的方法1.torch.optim优化器实现L2正则化2.如何判断正则化作用了模型?2.1未加入正则化loss和Accuracy2.1加入正则化loss和Accuracy2.3正则化说明3.自定义正则化的方法3.1自定义正则化Regularization类3.2…

  • Reaver 基本用法示例「建议收藏」

    Reaver 基本用法示例「建议收藏」airmon-ngstartwlan0//启动mon0监控reaver-imon0-bMAC-a-S-vv//普通用法如果,90.9%进程后死机或停机,请记下PIN前四位数,用指令:reaver-imon0-bMAC-a-vv-pXXXX(PIN前四位数)其他命令airodump-ngmon0用来扫描周围无线信号wash-imo

  • JAVA——数组截取——调用库中方法

    JAVA——数组截取——调用库中方法1,使用Java类库中的方法System.arraycopy2,使用Java类库中的方法java.util.Arrays.copyOf3,重写myCopy(一)使用.arraycopy方法使用方法:System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度);说明:将arr1数组中的一部分替换成arr2数组中的一部分可以从任意位置开始截取…

  • Redis锁的介绍「建议收藏」

    Redis锁的介绍「建议收藏」Redis锁的实现:由于Redis是单进程的,可以简单用setnx这个命令进行加锁操作,谁能操作成功,谁就可以获得锁。简单的代码如下:defacquire_lock():   #identifier:唯一标识客户端   #lockname锁名字   #redis客户端连接   ifredis.setnx(lockname,identifier):     …

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号