这段时间在学设计模式,总感觉有些悬浮在上,没有太多实际的例子,  
故高分征求我们平时用的NET类库中的设计模式(1.1,2.0都可)  
如果你知道,请用一下标示:  
 
模式名:  
涉及的类:  
模式阐述:  
思考:  
 

解决方案 »

  1.   

    proxy  //web服务Adapter //数据访问singleton //asp.net Application 等observer //事件Factory //  HttpWebRequest
    太多了,先列几个
      

  2.   

    我来一个:
    模式名:   Chain of Responsibility Pattern [职责链模式]
    涉及的类: IhttpHandler
    模式阐述: ASP.NET对最初传进来的请求进行处理。对每个请求进行处理过滤,并将请求传递下一个Handler。
    比如在Machine有很多这样的Handler,比如HttpForbiddenHandler,将某些请求退回。
    使用者可以自己定义IhttpHandler,并加入到请求处理职责链中。 
      

  3.   

    最显然的,适配器模式,涉及到的类:
    DataSet、DataTable、SqlDataAdapter、OracleDataAdapter、OledbDataAdapter、ObbcDataAdapter。这些DataAdapter作为了DataSet和各种数据库之间的适配器。模板方法模式:
    .NET类库里面提供的所有的DataAdapter都是继承于DbDataAdapter的。类似的还有DbCommand类。
      

  4.   

    模板方法模式应该是应用最广的设计模式,WebForm和WinForm的Control也是大量使用模板方法设计模式。还有,WebForm的Parser其实是一个生成器模式。
      

  5.   

    我也来说几个原形:继承ICloneable接口的都用了组合模式
    所有对象的基础,是对象必用到这模式代理:
    Remoting装饰模式
    .net控件设计器都用到了这个.
      

  6.   

    .NET的类库几乎包含的大部分的设置模式,那位老兄可以整理出来啊.
      

  7.   

    C#爱好者  QQ群号:17957754
    欢迎C#爱好者加入 
      

  8.   

    .net fw 中用到的设计模式挺多的。
    赞同hdt(倦怠)
      

  9.   

    我贴这个帖子一方面为了散分,一方面也是为了那些专注设计模式的人一个解惑的途径,一个思考的过程,因为现在在学模式时,常常会有一种疑问:模式真的有用吗?该怎么用,其实在我们天天接触的NETFRAMEWORK 类库中有很多实现模式的类集。希望高手能将模式总结出来,并阐述其理由,低手(我这样的人)在学习模式的过程中能时时刻刻的思考,而不是为了模式而模式!
      

  10.   

    看设计模式还是要看阎宏的《java与模式》,虽然代码是java的,但是讲解都是通过举例说明,思想容易理解,容易掌握,推荐。
    另,设计模式都是大家比较关心的,希望能提一些好的建议或好的资料。李建忠
    C#面向对象设计模式纵横谈系列课程 
    http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx
    http://zhenyulu.cnblogs.com/category/6930.html?Show=All
      

  11.   

    模式好多啊,正在重新看 设计模式 这本书,看看四人帮的书虽然写得很早,不过在.net里很多地方可以看到这本书的影子
      

  12.   

    The Factory Design Pattern
    http://www.ondotnet.com/pub/a/dotnet/2003/08/11/factorypattern.htmlDiscover the Design Patterns You're Already Using in the .NET Framework
    http://msdn.microsoft.com/msdnmag/issues/05/07/DesignPatterns/
      

  13.   

    参考2005年MSDN开发精选里面,列出了一些.net 中使用到的设计模式
      

  14.   

    研究设计模式不如研究一下 Enterprise Library January 2006。涉及到很多设计模式。
      

  15.   

    command ,观察模式,工厂模式,经常用
      

  16.   

    思归是个好同志。。呜呜,我要的就是这内容,我准备把这篇文章翻译过来,贴在我的blog上。呜呜。。
      

  17.   

    研究设计模式不如研究一下 Enterprise Library January 2006。涉及到很多设计模式。WangGuangJun(梨树)是否有兴趣把里面的设计模式抽取出来,贴在BLOG上?供大家学习学习!!
      

  18.   

    http://zhongkeruanjian.cnblogs.com/archive/2006/03/17/351964.html第一节翻译。
      

  19.   

    看了saucer那个贴子,看来这个问题早已有考虑并做出解答了
      

  20.   

    设计模式主要是用来YY的。我对设计模式基本上持否定态度。
    我们公司在开发一个系统,快完成了。设计的时候都是根据需求来决定的,中途还因为需求的改变调整过多次设计。回头看看,发现系统里面遍地都是所谓“模式”。什么适配器啦,什么singleton啦,什么bridge啦,狗屁,拿来吹牛唬人的。
      

  21.   

    楼上的 看来你们公司的这个系统不象.net这个系统那么值钱 :)
      

  22.   

    .net那个系统估计也是开发完了才来整理“到底用了哪些设计模式”。迎合开发模式的爱好者啦~~
      

  23.   

    北美一家非常大的投资银行,我和他们的技术人员有些接触,你知道他们的交易系统是怎么做出来的吗?硬写!用MFC里面的message机制满天下乱post。
    作坊?嘿嘿。作坊与否是看结果,不是看过程的。我以前工作的公司,在某个行业内占有国内60%以上的份额,开发人员超过百人。从不用设计模式,作坊?我倒不知道那些不是作坊的公司做了多少好东西出来。我现在由个朋友整天和我说设计模式的问题,动不动和我说什么几层架构,某某模式。一个50万的小项目做了一年也没做完。
      

  24.   

    就拿.net来说吧。是“.net”先出来,还是“.net的模式分析”先出来?
      

  25.   

    lostowner() 
    请参考MSDN开发精选2005.4期里面有,没有中文网上链接,不好意思。
    思归老兄给出的这个地址是英文版的,可以参考。(Rob Pierry)
    http://msdn.microsoft.com/msdnmag/issues/05/07/DesignPatterns/
      

  26.   

    模式的应用也是需要遵守一定的准则的
    用得好的话才能减小耦合封装“变化“,
    如IOC,单一责任原则,里氏替换原则等等
    要根据具体情况而定,而不是为模式而模式,
    有时甚至需要反模式
      

  27.   

    本来不想说什么,看了上面同志们的发言,忍不住说几句:
    学习模式的第一个问题就是要弄懂什么是设计模式,然后是为什么要学习,最后是怎样学习并使用模式。
    首先,设计模式是对特定场景下一再重复出现的问题所采用的解决方法,它也是经过一代又一代的前辈编程经验的总结和归纳而产生的一系列成熟的解决问题的途径。设计模式来自于实际的编程实践中,而不是凭空创造的楼阁。
    为什么要学习设计模式?一个最大的好处方便设计思想的交流,就如中国功夫的招式名称一样,当你对某个人说这个地方要使用工厂模式,那个地方要使用观察者模式,比你费半天的口水讲解你设计方法要方便的多。学习设计模式还会让你学习到许多新的思维方式,已经如何应变的编程能力。
    楼上有的朋友说到,他们的项目中没有使用设计模式,都是硬写出来的,一样可以做好项目。其实不然,什么叫使用设计模式,难道一定要看到Factory, Builder, Bridge, Proxy这些名称才算是使用设计模式?也许在项目中已经不知不觉地用了设计模式自己都不知道,因为为了解决一个问题而抱头苦思,反复测试,结果得到方法却已经是人家早就使用成千上百次了,这就是不懂设计模式的后果。
    最后一点就是如何学习和如何应用的问题。诚然,设计模式既然是对方法的总结,必然存在一定程度的抽象,但是漠视本身并不难理解,就像易经,由多少人看的懂,但是易经中的爻辞却是实实在在的日常生活的实例,只要你懂得古文言文,都看的懂。所以说学习设计模式,你首先对模式所处的环境(上下文)以及它要解决的问题(动机)做一番研究,这些东西是否在你的编程中出现过,你是如何解决它们的。只有你熟悉了模式所处的环境和要解决的问题,那么看设计模式是怎样解决问题(效果)就没有什么难度了。进而你也就掌握了或者说学到了。
    楼上有朋友说不要为模式而模式,我想这个道理大家都知道,问题是如何做到呢?也就是什么时候使用模式呢?从我个人的学习中,总结出一点,那就是所谓的设计模式都是为了解决设计过程中的变化问题,也就是说如果你写的某一段代码有很多不确定的变化成分,那么就是使用设计模式的时候了,大部分的设计模式不外乎是把这些变化的因素尽量的向后推迟,或者是将变化的部分从不变的部分隔离出来,使得变化的部分在发生变化的时候,不会影响到不变的部分。
    希望上述言论,对大家学习设计模式有所帮助,如有什么不对,欢迎拍砖。
      

  28.   

    严重支持楼上,我贴此贴的本意就是很多学习模式的人都在抱怨平时工作学习中根本就没有碰到这些所谓的模式,好像是那些所谓的大师们所炫耀的话题,这确实是一个很严重的问题,特别是做NETER的,没有JAVA那么多的优秀的源码参考,而JAVA的很多源代码里有着很多实践模式的经典。所以NETER固执的认为NET是没有模式,其实在NET FRAMEWORK的类库里,就大量用到了模式,只是由于知识层面上缺陷,没有发现这些天天存在于我们身边的模式。我希望大家能多多发现类库中模式,从而学以致用,在面向对象的设计中少走弯路,多一些好的构架,让JAVAR也为之侧目!
      

  29.   

    http://zhongkeruanjian.cnblogs.com/archive/2006/03/18/352766.html翻译的第二部分