三层架构用起来实在是累,一个小改动,牵一发却动全身。一直没觉得他有多好。现在vs2008出来了,也出来了一些新的东西,比如MVC模式,虽然和三层架构不冲突,但MVC模式中的业务逻辑似乎不太用三层架构,还有linq to sql,还有ADO.NET 的Entity Framework ,都似乎越来越抛弃三层架构了,我一直很讨厌狗屁三层架构,改一个地方,三层都要改!

解决方案 »

  1.   

    有需求是要三层,也有需求是MVC
      

  2.   

    新的技术和框架的出现并不能一定能改变之前的设计模式.但它们能够为您的设计提供更多的途径和角度
    mvc可以看成是针对表现层的框架
    linq2sql或EDM你可以把它作为实体层和数据访问层.
    lz说的改一个地方三层都要改这可能是设计的问题,比如没有规范的接口.
    所以目前一般项目还是会分层,毕竟分层有它的优势在,比如团队分工更加明细等等.
      

  3.   

    之所以这样,证明你对三层理解的不多。 用的不好。在你不懂或者不会用的时候,还是收敛为好。
    1,三层的目的就方便修改, 数据层有变动,应用层可以不动。
    2,团队开发和代码复用,三层有利于协调开发相互调用模块
    3,让代码变的简单,
    慢慢理解吧。
    但是没有人强迫你用三层。就像有了office 你也可以用wps 
      

  4.   


    一个字段改了,要改两层(model,DAL),一个方法的参数改了,要改四层(dal,idal,bll,website中的调用)
      

  5.   

    asp.net中的MVC其实没有摒弃三层的思想,其实相反我到觉得是三层的升级,它只是把业务逻辑成细分了一下,用的大量的视图做展示。把所用的业务都提交到controller里去处理,再把结果返回到视图展示出来。但觉得不足之处它把服务器控件的摒弃掉了。这样在开发时就没得那么快速了,但在后期维护和测试就方便一些了。
      

  6.   


    呵呵,不对,是把业务逻辑合成在model层中,把UI层拆分成V和C
      

  7.   

    没有一种架构是万能的,可以解决掉所有的需求。但是,三层架构,在多人合作的开发中,绝对比楼主崇尚的ASP模式开发要强大的多。
      

  8.   

    vs2008中,大家还有传统的三层,还有dal,model,idal,bll,website的项目结构?
      

  9.   

    三层是物理分层,mvc里用了repository是逻辑分层。
    不是过时不过时,只有适用不适用
      

  10.   

    合适的项目用合适的开发模式,但是建议多看看MVC,这可能会在最近几年流行起来
    别老用微软的一些控件,开发出来地网站质量太差!
      

  11.   

    lZ 简单说吧,MVC和三层架构是不同范畴内的两个概念。你要是非要对应的话,MVC对应的是三层架构的上面两层。谢谢
      

  12.   

     主要是关于三层的概念可能楼主没有弄清楚:
     打个比喻:
      windows+SQL2000+Acess,也可以用三层来理解,如果你的三层程序分得清楚,不可能改一层动其它层,如果存在这样的情况,那是你没有完全掌握三层的定义.
      开发比较大的软件,如果不是三层结构,将来的维护量是十分巨大和烦索的。所谓三层架构,就是为了将来系统易升级 易维护 当然要把各层的协议定义好才行。
      

  13.   

    那在MVC和Entity Data Model中,如何架构三层??
      

  14.   


    字段改了 是因为你没用ORM,方法的参数改了,是因为你方法的参数本身就有问题!