2009-06-30 27 views
13

Eine Möglichkeit zum besseren Verständnis von Entwurfsmustern besteht darin, zu ermitteln, wie Muster im .NET-Framework verwendet werden.Entwurfsmuster, die im .NET-Framework verwendet werden?

Haben Sie Beispiele für Entwurfsmuster im .NET-Framework gefunden? In Ihrer Antwort geben Sie bitte eine kurze Beschreibung des Musters und ein Beispiel, wie es im Rahmen verwendet wird.

Beispiel Antwort:

Die Strategie, Design, Muster abkoppelt einen Algorithmus aus der Klasse, die es verwendet durch den Algorithmus in eine separate Klasse eingekapselt wird. Dies ermöglicht das Umschalten von Algorithmen.

Die Sort-Methode der List-Klasse ist ein Beispiel für das Strategie-Muster.

Durch Akzeptieren einer IComparer-Schnittstelle können Benutzer der Klasse den Sortieralgorithmus zur Laufzeit wechseln.

+9

Community Wiki bitte – JoshJordan

+0

ich Lesung bevorzugen ein gutes Buch über Designmuster. Dies ist nur Rezitieren. – VVS

+4

@WS - Kannst du nicht alles auf SO in einem Buch finden? Das ist ein bisschen übertrieben. – womp

Antwort

2

Events im Rahmen .Net dem

2
  • ADO.Net Observer Pattern folgen ist alles über Abstract Factory für die Einzelheiten der Verbindung zu Datenquellen
  • Event sind eine Implementierung der Beobachter-Muster Loswerden
  • NET Iteratoren sind eine Implementierung der Iterator Muster
3

eine der nahe liegenden das Iterator pattern ist. mit der IEnumerator Klasse im Rahmen:

Iteratoren in .NET Framework sind genannt "Aufzählungen" und repräsentiert durch die IEnumerator-Schnittstelle. IEnumerator stellt eine MoveNext() Methode zur Verfügung, die zum nächsten Element übergeht und angibt, ob das Ende der Sammlung erreicht wurde; a Aktuelle Eigenschaft, um den Wert des aktuell angezeigten Elements zu erhalten at; und eine optionale Reset() - Methode, um den Enumerator zurück auf seine ursprüngliche Position zurückspulen. Der Enumerator zeigt zunächst auf einen speziellen Wert vor dem ersten Element, so dass ein Aufruf von MoveNext() erforderlich ist, um Iterieren zu beginnen.

6

Die Decorator Pattern auf den Stream-Klassen verwendet:

  • System.IO.Stream
    • System.IO.BufferedStream
    • System.IO.FileStream
    • System.IO .MemoryStream
    • System.Net.Sockets.NetworkStream
    • System.Sicherheit.Kryptographie.Crypto

Die Subklassen dekorieren Strom, weil sie von ihm erben, und sie enthalten auch eine Instanz von Strom, die im Konstruktor eingerichtet ist.

Verwandte Themen