Domanda

Qual è la differenza tra questi termini, puoi dare per favore piccoli esempi?

È stato utile?

Soluzione

Aggregazione: da http://en.wikipedia.org/wiki/aggregate_pattern

Nei modelli di progettazione, un aggregato non è un modello di progettazione ma si riferisce piuttosto a un oggetto come un elenco, un vettore o un generatore che fornisce un'interfaccia per la creazione di iteratori.

Il significato in breve gli elementi contiene 0 o più altri elementi di un altro tipo.

public class MyAggregation 
{   
   protected List<MyAggregates> aggregates = new List<MyAggregates>();

   public void add( MyAggregate element )
   {
        aggregates.Add( element );    
   }
}

Delegato: da http://en.wikipedia.org/wiki/delegation_pattern

Nell'ingegneria del software, il modello di delega è un modello di progettazione nella programmazione orientata agli oggetti in cui un oggetto, invece di eseguire uno dei suoi compiti dichiarati, delega tale compito a un oggetto ad helper associato

Significa che una classe usa un altro oggetto per fare qualcosa.

public interface IExceptionHandler
{
    void handle( string filename );
}

public class FileDeleteExceptionHandler : IExceptionHandler
{
   public void handle( string filename )
   {
      File.Remove( filename );
   }
}


public class MyExceptionHandler
{
    protected IExceptionHandler exceptionHandler;

    public MyExceptionHandler( IExceptionHandler theHandler )
    {
       this.exceptionHandler = theHandler;
    }

    public void handleException( string filename )
    {
       excpetionHandler.handle( filename );
    }
}

Oppure nella delega di C# può solo riferirsi a una funzione delegata, vedere http://msdn.microsoft.com/de-de/library/900fyy8e%28vs.80%29.aspx

Consultazione non so niente, mi dispiace

hth

Mario

Nota: in realtà non ho compilato il codice sopra.

Altri suggerimenti

C'è una descrizione della differenza tra delega e consultazione qui.

Sembrerebbe che ciò che la maggior parte delle persone si riferisce come delegazione potrebbe essere più correttamente indirizzata alla consultazione.

Immagino che la delega in senso più formale descritto nel riferimento sarebbe implementata come una classe di base astratta che delega a una classe concreta.

La delega, l'aggregazione e la consultazione non sono modelli di progettazione. Sono concetti ci aiuta a descrivere i modelli di design. per più

Composizione è un modo per combinare oggetti semplici o tipi di dati in uno più complesso, cioè come singola unità. Le composizioni sono un elemento critico di molte strutture di dati di base

Aggregazione differisce dall'ordinario composizione in quanto non implica la proprietà. Nella composizione, quando l'oggetto possiede viene distrutto, lo sono anche gli oggetti contenuti. In aggregazione, questo non è necessariamente vero

Delegazione è il concetto semplice ma potente di consegnare un compito a un'altra parte del programma. Nella programmazione orientata agli oggetti viene utilizzato per descrivere la situazione in cui un oggetto assegna un compito a un altro oggetto, noto come delegato

Consultazione Nella programmazione orientata agli oggetti si verifica quando l'implementazione del metodo di un oggetto consiste in un messaggio invio dello stesso messaggio a un altro oggetto costituente.

Wiki: Delegazione Composizione Consultazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top