如题

解决方案 »

  1.   

    Mvc不是架构模式 不要为了模式而模式
      

  2.   

    前端居然有MVC模式,第一次听说,受教了 
      

  3.   

    晕,MVC不是架构模式是什么呀?!
    更晕,MVC应用非常广,特别是在前端呀!
      

  4.   

    你说是架构模式,好。我姑且认为你对此定义是广义上的定义。这样没错
    M-V-C
    如果说是架构模式,那势必MODEL层承接了所有的后台业务逻辑和数据访问等等。造成头重脚轻的概念我们暂且不论
    你说是架构模式,同时有说特别应用在前端,难道一个项目的架构仅仅只针对前端吗?不合理吧。
    当然,如果说MVC是架构模式的话,那我们须对MODEL层进行单独架构,以解层之间耦合。那么单独的MVC便不足以成为架构模式了吧。
    或许我的理解和你,或者大多数人不同,但是我依然认为架构模式的前提是撑起整个项目的。比如三层架构。我本不那么的咬文嚼字,只是既然提到了,我就顺便提下。
      

  5.   

    to cj205:
         先谢谢你的热心回复
         不过感觉我们对MVC和什么是“架构模式”的理解差别比较大,所以这个问题咱们没有继续“讨论”的价值,就不多说了
         
         我的问题主要是想问,针对前端架构上,还有其他什么常用的模式?比如Module模式我觉得也可以算一种
      

  6.   

    微软的asp.net MVC就是专门针对比较复杂的UI设计的架构模式,只应用于平时的多层架构中的view层,是基于URL驱动的,不是基于事件的驱动。在处理比较复杂的UI的时候,如果使用这种模式架构将会减少很多工作,现在已经得到了很多应用!
      

  7.   

    MVC是一种模式,更是一种思想,是一种设计理念。
    不一定之限制用在服务器端,你觉得用作前端可以那么就可以。它只是一种规范而已
    或许不久的将来,也可以在前端看到MVC模式
    将事件-数据-对象分开开发
      

  8.   

    asp.net mvc从RC版我就开始使用了~~
    但是model层我一直使用我之前三层架构里面的bll和dal。
    url驱动你说的是url routing吧
    其实web发展的前期,并没有web form的这种形式,因为WEB是无状态的(WEB FORM通过viewstate模拟了)。一直可以说是你所谓的url驱动的。
    微软的asp.net MVC就是专门针对比较复杂的UI设计的架构模式,只应用于平时的多层架构中的view层,是基于URL驱动的,不是基于事件的驱动。在处理比较复杂的UI的时候,如果使用这种模式架构将会减少很多工作,现在已经得到了很多应用!
    mvc我更愿意理解为表现模式
    Trygve Reenskaug在提出的时候就定义为presention pattern。从smalltalk上被扩展,广泛应用之后虽然有很多变种,但是MVC也就是UI的表现模式。
    好吧。你说到asp.net mvc那么我们可以看到这里面有controller、view对吧,那么model层呢?
    当然如果你硬要把一个架构模式当做mvc中的model来看,那我也没什么好辩解的,反正目前来看mvc已经被滥用的不能在多了
      

  9.   

    楼主说其用在前端,我觉得没有任何问题~~
    包括jQuery库在内的很多前端都用到了mvc。
    Martin Fowler在企业应用架构模式提到了MVC(具体内容大家可以自己去看)。如果说非要给MVC定义为架构模式(或是一部分)。我也不好在说什么了我觉得设计模式是针对现实情况而已,如果有一天你把23种设计模式揉到一起也设计了一个好的前台框架,那么你也可以定义你的设计模式啊。局限于现在的模式,去套或非要去给某个应用定义一个模式的话,限制性太大。这句话不止一个人提过~
      

  10.   

    官方网站:http://www.asp.net/mvc /
    同时,asp.net Mvc 也提供了一个社区预览版:http://www.codeplex.com/aspnet
      

  11.   

    哦对了,asp.net mvc是一个微软提供的开发框架 不等于MVC模式本身~~~
      

  12.   

    不要不懂装懂。
    java的设计模式是博大精神的,设计模式按应用场景设计的。
    只是你不知道,当你知道这个模式之后,会一种大彻大悟的感觉。
    而且,我们在平常中有时没有看过设计模式。但也会用到。只是你不知道这种设计模式,微软就一个抄,不喜欢搞设计模式,后面大家都懂的。
      

  13.   

    你可以说我不懂。不过我希望你能说出点东西来。
    至于你说java的设计模式博大精深。我很难理解,其他的语言难道就没有设计模式了?
    设计模式按应用场景设计和我所言有什么区别吗还有这是js版块,没涉及到java。不过你既然提到了,那么想请阁下介绍下Java能实现的设计模式而C#实现不了的?
    微软抄归抄,总比Java常年不更新强吧。
    大彻大悟,不知道阁下悟出来什么了没,大家一起分享下啊~
    没有看到设计模式?你想表达的是,设计模式无处不在(和算法一样),只是不去追究他到底属于什么设计模式吧。那这一点和我说的又有什么不同。
      

  14.   

    mvc不属于前端的架构模式。没有前端的架构模式这一说法。
    系统的架模,我只听过b/s的架构,还有就是c/s的架构吧。
      

  15.   

    “在前端,还有那些架构模式”这句话的意思是:应用在前端,有哪些架构模式?
    所谓前端:
           JavaScript、html、css;ASP.NET,JSP,PHP等等都算上,以某种方式组织代码,目的是最终做出展示给用户使用的网页。licip:“前端的架构模式“是你自己发明的。
      

  16.   

    to cj205:我目前在做的是ERP软件的前端UI,B/S架构的,.NET平台,不过前端不受平台语言的限制,主要还是JavaScript,html,css结合asp.net的方式。
      

  17.   

    ERP软件的话。往往业务逻辑、需求变更较大。
    我觉得你还是使用Ext等框架来做前台搭建比较好。
    因为涉及到频繁的数据交互,同时我建议你使用一个中间件来相对较低耦合(当然,看你的需求变更)
    至于用什么架构模式,我觉得问题都不大,即使是大家所说的MVC,也需要经过变种后应用到项目中去。
      

  18.   

    Mvc不是架构模式 不要为了模式而模式顶··!
      

  19.   

    曾见过Java的ZK框架。。很强大的说
      

  20.   

    Mvc不是架构模式 不要为了模式而模式
      

  21.   

    我就支持楼主的讲,一般MVC只用于做“前端”,因为我公司也是这样做。
    系统分三层,DAL,BLL,UI,所有的业务逻辑都在BLL中经过处理。
    最后,如系果统UI用WEB来表现,再以MVC方式来开发。如果系统的逻辑关系比较复杂,单单以MVC实现整体开发是不理智的。
    三层模式其实是纵向的,每个层次都有对应的接口实现隔离。而MVC中,Controller,Model,View却是平向,三部分实现不同的功能。
      

  22.   

    我们公司也是做ERP的,我刚来才认识系统,还不是很懂。用的是delphi+java+oracle,不知道这是否算B/w架构
      

  23.   

    MVC是設計思想,不是設計模式。
    你要認為思想==模式,那就大錯特錯了。
      

  24.   

    你先了解MVC的意思:
        MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
        MVC是强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
      

  25.   

    用ext 是不是有点超前了!
      

  26.   

    to Leslies2:
        谢谢,终于遇到个有共同语言的同志
      

  27.   

    mvc只是服务器端的前端。而且,他不是设计模式。硬要说的话,mvc其实本质是工厂方法模式,通过不同的URL来定位不同的modal产品,并且由modal的返回结果不同,返回不同的view。这个过程中,其实套了两层工厂。上面的回答都有点跑题除了mvc,还有proxy模式用的比较多。比如struts2的拦截器,javaee的filter,spring的aop都是用了这种思想。
      

  28.   

    怎么这么多人咬文嚼字,模式<>设计模式<>GOF提到的设计模式。模式还有架构模式、应用模式等,martin fowler的《企业架构模式》里面提的模式,基本就不是GOF说的那种设计模式。两者的层面不一样。我认为楼主的提法没问题,明白就行了
      

  29.   

    补充下楼主正题:除了MVC,还有一种变形叫MVP,目的是提高界面的可测试性,楼主可以查查相关资料。
      

  30.   

    to rainsilence:
        说了那么多,还是所答非所问,哎!to Harryfin:
         看来咱们能有共同语言。这么简单个问题,怎么能搞出这么多花样的答案 这算是行业现状吗?!
      

  31.   

    Mvc不是架构模式啊 !!!!!!
      

  32.   

    呵呵,其实我不得不佩服马丁福勒,他不止一次的说过:编程人员好个咬文嚼字,然后用那些名词束缚自己楼主,是这样的:
    1.你题目中所指的MVC我想应该是指asp.netMVC,
      MVC可以当做是规律,思想,方法论,设计模式,可他就不是架构,他不是被发明的,而是被发现的,不管谁最先提出这个理论,赋予定义,每个开发组织都可以根据自己的面向对象经验构建自己的MVC体系.MVC既不属于哪个公司,也不特定用于前端开发,甚至也不是软件专业专有,恰恰这种思想在其他领域的应用早已成熟,这尤其表现在包括计算机在内的传统工业设计和生产;
      asp.netMVC是微软推出的一个前端开发框架,工具集,出于商业目的(吸引JAVA派倒戈),它被取了个MVC的名字,其实单就已有的.net开发组织,asp.netMVC对MVC设计思想的支持和工业化生产的支持还比不上webform;
    2.在.net平台下,前端开发的方案通常会有以下几种策略:
      asp.net MVC
      asp.net webform
      各种更多依赖js(Ajax)的框架集应用
      xaml
      silverlight(也是居于xaml)说得不好,仅供参考  
      

  33.   

    to microtry: !@#$%^&*(没法沟通)
      

  34.   


    关于MVC:
    http://se.csai.cn/ANALYZE/200712291011101306.htm
      

  35.   

    1.从哪里看出来我指的的asp.netMVC? 我自己都不知道呢?你说了这么多,全是你的主观臆断而已,希望你看清楚我的问题再回答。
    2.前一点已经所答非所问了,这一点就更不用说了。哎!btw:Harryfin在58楼的回答才是我想要的答案,希望后面的朋友更多的从这个角度去思考回答问题。
      

  36.   


    多层是架构模式?那Facade是什么?如果你用过spring,你应该知道spring的架构最后给你规范好的代码就是Facade。也就是把表现层,前台mvc,业务逻辑,持久层分开了。设计模式是基础,记得前面也有几个兄弟说,只要掌握了基础,你就可以创造出新的架构,甚至新的设计模式。比如mvc。我前面也说了,mvc本质就是工厂的工厂。你现阶段说的架构不过就是经过设计模式组装后的产物。
      

  37.   


    martin fowler的《企业架构模式》里面提的模式,那是针对解决方案的。跟mvc也不是同一个层次。
      

  38.   

    不赞成咬文嚼字,mvc模式确实主要应用在展现层的设计上。楼主想问:还有什么展现层的设计思路。
      

  39.   

    前台到控制器的设计,只有MOD1和MOD2,基中MOD2就是指MVC
      

  40.   


    感觉这里面总有人误读楼主的意思,MVC可以说是观察者模式的演进。
      

  41.   

    MVC 只是一个开发的模板