2009-06-30 46 views
13

增加對設計模式理解的一種方法是發現.NET框架中如何使用模式。.NET框架中使用的設計模式?

您是否發現過.NET框架中的任何設計模式示例?在你的回答中,請給出模式的簡短描述,以及在框架中如何使用它的例子。

例答案:

策略設計模式解耦由算法封裝到一個單獨的類使用它的類的算法。這允許切換算法。

List類的Sort方法是Strategy模式的一個例子。

public void Sort(IComparer<T> comparer) 

通過接受IComparer接口,類的用戶可以在運行時切換排序算法。

+9

社區維基請 – JoshJordan 2009-06-30 15:44:56

+0

我喜歡讀書一本關於設計模式的好書。這只是背誦。 – VVS 2009-06-30 15:47:41

回答

2

在.Net框架Events按照Observer Pattern

2
  • ADO.Net是所有關於抽象工廠爲擺脫的連接到數據源
  • 事件的細節被觀察者模式
  • 的實現
  • 淨迭代器是迭代器模式
3

一個明顯的一個是Iterator pattern的實現。使用在骨架中IEnumerator類:

迭代在.NET Framework是 稱爲「枚舉」和由IEnumerator接口表示 。 IEnumerator提供了MoveNext()方法,該方法前進到下一個 元素並指示集合的末尾 是否已到達; a 當前屬性,獲取 所在的元素的當前值 ;和一個可選的Reset()方法,至 將枚舉器倒回到其初始位置 。枚舉器 最初在第一個元素之前指向一個特殊值 ,因此需要調用 MoveNext()以開始 迭代。

6

Decorator Pattern被用在Stream類:

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

子類裝飾流,因爲他們繼承它,而且他們還含有設置在構造流的一個實例。