增加对设计模式的理解的一种方法是发现如何在.NET框架中使用模式。
您是否在.NET框架中找到了任何设计模式的示例?在您的回答中,请简要描述模式,以及在框架中如何使用模式的示例。
示例回答:
策略设计模式通过将算法封装到单独的类中,将算法与使用它的类分离。这允许切换算法。
List类的Sort方法是策略模式的一个示例。
public void Sort(IComparer<T> comparer)
通过接受IComparer接口,该类的用户可以在运行时切换排序算法。
答案 0 :(得分:6)
在Stream类中使用Decorator Pattern:
子类装饰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)
Events
遵循Observer Pattern
答案 5 :(得分:2)
答案 6 :(得分:1)