2009-06-30 11 views
13

Un modo per migliorare la comprensione dei modelli di progettazione è scoprire come vengono utilizzati i pattern nel framework .NET.Modelli di progettazione utilizzati nel framework .NET?

Hai trovato qualche esempio di schemi di progettazione nel framework .NET? Nella tua risposta ti preghiamo di fornire una breve descrizione del modello e un esempio di come viene utilizzato nel framework.

Esempio risposta:

La strategia di Design Pattern disaccoppia un algoritmo dalla classe che lo utilizza incapsulando l'algoritmo in una classe separata. Ciò consente il passaggio di algoritmi.

Il metodo di ordinamento della classe Elenco è un esempio del modello di strategia.

public void Sort(IComparer<T> comparer) 

Accettando un'interfaccia IComparer, gli utenti della classe può cambiare l'algoritmo di ordinamento in fase di esecuzione.

+9

Comunità wiki prega – JoshJordan

+0

preferisco leggere un buon libro sui modelli di design. Questo è solo recitazione. – VVS

+4

@WS - non riesci a trovare tutto su SO in un libro? Questo è un po 'esagerato. – womp

risposta

2

Events in .Net Framework seguire l'ADO.Net Observer Pattern

2
  • è tutto Abstract Factory per sbarazzarsi dei dettagli di connessione a fonti di dati
  • eventi sono un'implementazione del pattern Observer
  • Net iteratori sono un'implementazione del pattern Iterator
3

un esempio evidente è la Iterator pattern. utilizzando la classe IEnumerator nel quadro:

Iteratori in .NET Framework sono chiamati "enumeratori" e rappresentavano dall'interfaccia IEnumerator. IEnumerator fornisce un metodo MoveNext() , che avanza fino al prossimo elemento e indica se è stata raggiunta la fine della raccolta; a Proprietà corrente, per ottenere il valore dell'elemento correntemente puntato at; e un metodo Reset() opzionale, per riavvolgere l'enumeratore nella sua posizione iniziale . L'enumeratore inizialmente punta a un valore speciale prima del primo elemento, quindi è necessaria una chiamata a MoveNext() per iniziare l'iterazione .

6

Il Decorator Pattern viene utilizzato sulle classi Flusso:

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

Il sottoclassi decorare flusso perché ereditano da essa, e contengono anche un'istanza di flusso che è impostato nel costruttore.

Problemi correlati