.NET框架中使用的设计模式?

时间:2009-06-30 15:43:20

标签: .net design-patterns

增加对设计模式的理解的一种方法是发现如何在.NET框架中使用模式。

您是否在.NET框架中找到了任何设计模式的示例?在您的回答中,请简要描述模式,以及在框架中如何使用模式的示例。

示例回答:

策略设计模式通过将算法封装到单独的类中,将算法与使用它的类分离。这允许切换算法。

List类的Sort方法是策略模式的一个示例。

public void Sort(IComparer<T> comparer)

通过接受IComparer接口,该类的用户可以在运行时切换排序算法。

7 个答案:

答案 0 :(得分:6)

在Stream类中使用Decorator Pattern

  • System.IO.Stream
    • System.IO.BufferedStream
    • System.IO.FileStream
    • System.IO.MemoryStream
    • System.Net.Sockets.NetworkStream
    • System.Security.Cryptography.CryptoStream

子类装饰Stream因为它们从它继承而且它们还包含在构造函数中设置的Stream实例。

答案 1 :(得分:3)

显而易见的是Iterator pattern。在框架中使用IEnumerator类:

  

.NET Framework中的迭代器是   称为“枚举者”并代表   通过IEnumerator接口。   IEnumerator提供了一个MoveNext()   方法,进入下一个   元素并指示是否结束   收藏品已达到;一个   当前属性,获取值   目前正在指出的元素   在;和一个可选的Reset()方法   将枚举器倒回到它的位置   初始位置。调查员   最初指向一个特殊值   在第一个元素之前,所以一个调用   需要MoveNext()才能开始   迭代。

答案 2 :(得分:3)

这篇文章似乎很好: - {{3P>

答案 3 :(得分:3)

以下是.net框架中使用的所有设计模式的优秀文章:

http://dotnetacademy.blogspot.com/2011/10/design-patterns-which-are-used-in-net.html

答案 4 :(得分:2)

.Net Framework中的

Events遵循Observer Pattern

答案 5 :(得分:2)

  • ADO.Net是关于抽象工厂的,用于删除连接数据源的细节
  • 事件是Observer模式的实现
  • .Net迭代器是Iterator模式的实现

答案 6 :(得分:1)

用于各种数据源(如OleDB,Sql和Oracle)的Adapter Pattern中的

DataAdapter