mvc 为什么会产生过多的更新操作-->降低运行效率(会比ASP.NET低??)MVC的缺点:
(1) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。 (为什么会产生过多的更新操作?)
(4) 目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。(高级的界面工具或构造器是指什么?)

解决方案 »

  1.   

    这种是相对来说,也不能说.net运行效率就高,小项目不用考虑,.net大的项目使用的框架,和分层,也会影响效率,mvc是一个框架模式好像,框架是什么,就是前人总结出去来,针对大多数问题的方案,存在一种规范性,规范性导致有些代码就会多写,多执行,mvc适合开发大项目,规范性让程序员容易维护,但这个也会影响性能。就更。net分层一个鸟样
      

  2.   

    上下文呢?增加结构的复杂性,并可能产生过多的更新操作,降低运行效率这3句话没有看不出因果关系高级的界面工具或构造器指的是webform的设计视图,webform是仿winform的,所以可以直接在视图里拖控件,但设计视图不等于实际呈现的页面,最后还是要在浏览器上看效果
      

  3.   

    楼主不要和我较劲啊,都是说了想对来说,如果你要怕“导致客户端与服务器之间传递大块数据”,你可以局部用ajax+jquery+handle, 都说了,框架怎么来的,就是之前很多人通过实践能解决大多数问题啊得出的一种方案,规则,mvc生成不含任何视图状态数据库,这是mvc优点那是,但缺点呢,肯定都是有的,mvc适合大项目,你要开发简单的web项目,连框架都不需要,也不分层照样行,你只能说,什么样的项目用什么框架开发,用什么样的语言。单纯进行比较那这个就是一个辩论题了,永远没有结果。
      

  4.   

    1.其实ViewState可以放在服务器端,并且可以在状态服务器,Sqlserver,甚至任何地方;2.asp.netMVC和MVC设计模式完全是不同的概念,没有任何关系
      无论是webform,asp.netMVC,SL,html+js,还是winform,都可以采用统一的MVC模式开发,
     并且可以把代码量减少至少90%,代码的可重复利用价值非常高!
     从局部来说,MVC设计模式效率低是一定的,(但是差异可以忽略)
      因为,MVC要读写各种领域模型,视图模型,哪怕处理的业务仅仅是:say hello world再重申一遍:开发者当然可以用ASP.netMVC去呈现真正的MVC设计模式下的UI,
    但更多时候,我看到的都是一个一个去写界面,view既是UI,然后控制器模型对应一套,每个组件没有任何重用价值,白瞎了微软设计的路由机制(所以有些人才会想到,要有个支持拖拽的视图设计器就好了)
      

  5.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要
      

  6.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要
    这不是抬杠吗
      

  7.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要
    这不是抬杠吗
    哪里抬杠了
      

  8.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要
    这不是抬杠吗
    哪里抬杠了
    明显是ajax调用了,但是你整个网站就没有个view
    还是view多
      

  9.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要这个是后台帮忙做了工作吧?不能说是不需要?
      

  10.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要
    这不是抬杠吗
    哪里抬杠了
    明显是ajax调用了,但是你整个网站就没有个view
    还是view多他说的是say hello world也要view,我说不用view哪里错了?
    这个根本不需要ajax直接浏览器里就能显示啊
      

  11.   


    public ActionResult SayHelloWorld()
    {
        return Content("say hello world");
    }模型、视图都不需要这个是后台帮忙做了工作吧?不能说是不需要?
    controller本身就能直接向浏览器输出数据,不需要view或model
      

  12.   


    你尽管使用asp.netMVC,可是和MVC设计模式一点关系都没有,
    视图控制器本身当然是负责直接向UI渲染的,问题是:对于MVC而言,设计时刻,控制器并不知道内容神马
      

  13.   


    你尽管使用asp.netMVC,可是和MVC设计模式一点关系都没有,
    视图控制器本身当然是负责直接向UI渲染的,问题是:对于MVC而言,设计时刻,控制器并不知道内容神马

    对啊,不需要模板设计的时候直接输出就好了啊,为什么输出say hello world需要用view?
      

  14.   

    还要我说几遍呢?问题是,MVC方式下,控制器根本就不知道要输出什么,
    MVC的控制器是通用的,是重构的产物,和具体项目没有相关性.
    如果你把明文写死在控制器中,就不是MVC了,这段代码就失去了可重复利用的价值
      

  15.   

    还要我说几遍呢?问题是,MVC方式下,控制器根本就不知道要输出什么,
    MVC的控制器是通用的,是重构的产物,和具体项目没有相关性.
    如果你把明文写死在控制器中,就不是MVC了,这段代码就失去了可重复利用的价值
    先不说“say hello world”有什么好重复利用的,直接调用action方法不比加载view简单?
    更不用说controller里还能重构提取方法
      

  16.   

    我已经说过好几遍了,MVC就是这样约定的,设计时刻,你并不知道要输出什么,你非要抬杠子,你说的不是MVC,非要往MVC上去套;
    重构是软件设计的概念,也就是说,控制器是因重构而生的,也同样因为重构,后来又演变出视图控制器视图模型和模型控制器,总之,职责划分越来越细致;
    一个UI平台一套视图控制器,与项目无关,这些都是我说过的,你自己引用了我的内容,都不仔细看,
    你说的提取方法叫做:重写,通过测试的代码,不要去修改
      

  17.   

    18楼引用错误,更正一下:
    你一直把asp.netMVC当作MVC,指鹿为马......
      

  18.   


    网络上往往一些老掉牙且错误的观点被复制来复制去。你还当真么?那什么才是新的,正确的观点呢?你无中生有造出个观点,你让人怎么说。我说MVC太咸了,不好吃。我说这是无稽之谈,难道你觉得MVC还是太淡么?